├── .ci-mgmt.yaml ├── .devcontainer ├── Dockerfile └── devcontainer.json ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug.yaml │ └── epic.md ├── actions │ ├── download-prerequisites │ │ └── action.yml │ ├── download-provider │ │ └── action.yml │ ├── download-sdk │ │ └── action.yml │ ├── download-tfgen │ │ └── action.yml │ ├── setup-tools │ │ └── action.yml │ ├── upload-bin │ │ └── action.yml │ ├── upload-prerequisites │ │ └── action.yml │ └── upload-sdk │ │ └── action.yml └── workflows │ ├── build_provider.yml │ ├── build_sdk.yml │ ├── command-dispatch.yml │ ├── community-moderation.yml │ ├── license.yml │ ├── lint.yml │ ├── main-post-build.yml │ ├── master.yml │ ├── prerelease.yml │ ├── prerequisites.yml │ ├── publish.yml │ ├── pull-request.yml │ ├── release.yml │ ├── release_command.yml │ ├── run-acceptance-tests.yml │ ├── test.yml │ ├── upgrade-bridge.yml │ ├── upgrade-provider.yml │ └── verify-release.yml ├── .gitignore ├── .gitmodules ├── .golangci.yml ├── .pulumi-java-gen.version ├── .upgrade-config.yml ├── CHANGELOG_OLD.md ├── CODE-OF-CONDUCT.md ├── CONTRIBUTING.md ├── COPYRIGHT ├── LICENSE ├── Makefile ├── README.md ├── devbox.json ├── devbox.lock ├── docs └── _index.md ├── examples ├── .gitignore ├── examples_dotnet_test.go ├── examples_nodejs_test.go ├── examples_py_test.go ├── examples_test.go ├── go.mod ├── go.sum └── project │ ├── .gitignore │ ├── Pulumi.yaml │ ├── index.ts │ ├── package.json │ └── tsconfig.json ├── patches ├── 0001-fork.patch └── 0002-expose-provider.patch ├── provider ├── cmd │ ├── pulumi-resource-gitlab │ │ ├── .gitignore │ │ ├── Pulumi.yaml │ │ ├── bridge-metadata.json │ │ ├── generate.go │ │ ├── main.go │ │ └── schema.json │ └── pulumi-tfgen-gitlab │ │ └── main.go ├── go.mod ├── go.sum ├── pkg │ └── version │ │ └── version.go ├── provider_program_test.go ├── resources.go ├── test-programs │ ├── index_branchprotection │ │ ├── .gitignore │ │ └── Pulumi.yaml │ ├── index_project │ │ ├── .gitignore │ │ └── Pulumi.yaml │ ├── index_projectapprovalrule │ │ ├── .gitignore │ │ └── Pulumi.yaml │ ├── index_projecthook │ │ ├── .gitignore │ │ └── Pulumi.yaml │ ├── index_projectlevelmrapprovals │ │ ├── .gitignore │ │ └── Pulumi.yaml │ ├── index_projectvariable │ │ ├── .gitignore │ │ └── Pulumi.yaml │ └── index_repositoryfile │ │ ├── .gitignore │ │ └── Pulumi.yaml └── testdata │ └── recorded │ └── TestProviderUpgrade │ ├── index_branchprotection │ └── 6.10.0 │ │ ├── grpc.json │ │ └── stack.json │ ├── index_project │ └── 6.10.0 │ │ ├── grpc.json │ │ └── stack.json │ ├── index_projectapprovalrule │ └── 6.10.0 │ │ ├── grpc.json │ │ └── stack.json │ ├── index_projecthook │ └── 6.10.0 │ │ ├── grpc.json │ │ └── stack.json │ ├── index_projectlevelmrapprovals │ └── 6.10.0 │ │ ├── grpc.json │ │ └── stack.json │ ├── index_projectvariable │ └── 6.10.0 │ │ ├── grpc.json │ │ └── stack.json │ └── index_repositoryfile │ └── 6.10.0 │ ├── grpc.json │ └── stack.json ├── scripts ├── crossbuild.mk ├── plugins.mk └── upstream.sh └── sdk ├── .gitignore ├── dotnet ├── Application.cs ├── ApplicationSettings.cs ├── Branch.cs ├── BranchProtection.cs ├── ClusterAgent.cs ├── ClusterAgentToken.cs ├── ComplianceFramework.cs ├── Config │ ├── Config.cs │ └── README.md ├── DeployKey.cs ├── DeployKeyEnable.cs ├── DeployToken.cs ├── GetApplication.cs ├── GetBranch.cs ├── GetClusterAgent.cs ├── GetClusterAgents.cs ├── GetComplianceFramework.cs ├── GetCurrentUser.cs ├── GetGroup.cs ├── GetGroupAccessTokens.cs ├── GetGroupBillableMemberMemberships.cs ├── GetGroupHook.cs ├── GetGroupHooks.cs ├── GetGroupIds.cs ├── GetGroupMembership.cs ├── GetGroupProvisionedUsers.cs ├── GetGroupServiceAccount.cs ├── GetGroupSubgroups.cs ├── GetGroupVariable.cs ├── GetGroupVariables.cs ├── GetGroups.cs ├── GetInstanceDeployKeys.cs ├── GetInstanceServiceAccount.cs ├── GetInstanceVariable.cs ├── GetInstanceVariables.cs ├── GetMetadata.cs ├── GetPipelineSchedule.cs ├── GetPipelineSchedules.cs ├── GetProject.cs ├── GetProjectBranches.cs ├── GetProjectEnvironments.cs ├── GetProjectHook.cs ├── GetProjectHooks.cs ├── GetProjectIds.cs ├── GetProjectIssue.cs ├── GetProjectIssues.cs ├── GetProjectMembership.cs ├── GetProjectMergeRequest.cs ├── GetProjectMilestone.cs ├── GetProjectMilestones.cs ├── GetProjectMirrorPublicKey.cs ├── GetProjectProtectedBranch.cs ├── GetProjectProtectedBranches.cs ├── GetProjectProtectedTag.cs ├── GetProjectProtectedTags.cs ├── GetProjectTag.cs ├── GetProjectTags.cs ├── GetProjectVariable.cs ├── GetProjectVariables.cs ├── GetProjects.cs ├── GetRelease.cs ├── GetReleaseLink.cs ├── GetReleaseLinks.cs ├── GetRepositoryFile.cs ├── GetRepositoryTree.cs ├── GetRunners.cs ├── GetUser.cs ├── GetUserSshkeys.cs ├── GetUsers.cs ├── GlobalLevelNotifications.cs ├── Group.cs ├── GroupAccessToken.cs ├── GroupBadge.cs ├── GroupCluster.cs ├── GroupCustomAttribute.cs ├── GroupDependencyProxy.cs ├── GroupEpicBoard.cs ├── GroupHook.cs ├── GroupIssueBoard.cs ├── GroupLabel.cs ├── GroupLdapLink.cs ├── GroupMembership.cs ├── GroupProjectFileTemplate.cs ├── GroupProtectedEnvironment.cs ├── GroupSamlLink.cs ├── GroupSecurityPolicyAttachment.cs ├── GroupServiceAccount.cs ├── GroupServiceAccountAccessToken.cs ├── GroupShareGroup.cs ├── GroupVariable.cs ├── Inputs │ ├── ApplicationSettingsDefaultBranchProtectionDefaultsArgs.cs │ ├── ApplicationSettingsDefaultBranchProtectionDefaultsGetArgs.cs │ ├── BranchCommitArgs.cs │ ├── BranchCommitGetArgs.cs │ ├── BranchProtectionAllowedToMergeArgs.cs │ ├── BranchProtectionAllowedToMergeGetArgs.cs │ ├── BranchProtectionAllowedToPushArgs.cs │ ├── BranchProtectionAllowedToPushGetArgs.cs │ ├── BranchProtectionAllowedToUnprotectArgs.cs │ ├── BranchProtectionAllowedToUnprotectGetArgs.cs │ ├── GetGroupProvisionedUsersProvisionedUser.cs │ ├── GetGroupProvisionedUsersProvisionedUserArgs.cs │ ├── GetProjectProtectedBranchMergeAccessLevel.cs │ ├── GetProjectProtectedBranchMergeAccessLevelArgs.cs │ ├── GetProjectProtectedBranchPushAccessLevel.cs │ ├── GetProjectProtectedBranchPushAccessLevelArgs.cs │ ├── GetProjectProtectedBranchesProtectedBranch.cs │ ├── GetProjectProtectedBranchesProtectedBranchArgs.cs │ ├── GetProjectProtectedBranchesProtectedBranchMergeAccessLevel.cs │ ├── GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs.cs │ ├── GetProjectProtectedBranchesProtectedBranchPushAccessLevel.cs │ ├── GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs.cs │ ├── GetReleaseAssets.cs │ ├── GetReleaseAssetsArgs.cs │ ├── GetReleaseAssetsLink.cs │ ├── GetReleaseAssetsLinkArgs.cs │ ├── GetReleaseAssetsSource.cs │ ├── GetReleaseAssetsSourceArgs.cs │ ├── GroupAccessTokenRotationConfigurationArgs.cs │ ├── GroupAccessTokenRotationConfigurationGetArgs.cs │ ├── GroupDefaultBranchProtectionDefaultsArgs.cs │ ├── GroupDefaultBranchProtectionDefaultsGetArgs.cs │ ├── GroupEpicBoardListArgs.cs │ ├── GroupEpicBoardListGetArgs.cs │ ├── GroupHookCustomHeaderArgs.cs │ ├── GroupHookCustomHeaderGetArgs.cs │ ├── GroupIssueBoardListArgs.cs │ ├── GroupIssueBoardListGetArgs.cs │ ├── GroupProtectedEnvironmentApprovalRuleArgs.cs │ ├── GroupProtectedEnvironmentApprovalRuleGetArgs.cs │ ├── GroupProtectedEnvironmentDeployAccessLevelArgs.cs │ ├── GroupProtectedEnvironmentDeployAccessLevelGetArgs.cs │ ├── GroupPushRulesArgs.cs │ ├── GroupPushRulesGetArgs.cs │ ├── GroupServiceAccountAccessTokenRotationConfigurationArgs.cs │ ├── GroupServiceAccountAccessTokenRotationConfigurationGetArgs.cs │ ├── InstanceServiceAccountTimeoutsArgs.cs │ ├── InstanceServiceAccountTimeoutsGetArgs.cs │ ├── PersonalAccessTokenRotationConfigurationArgs.cs │ ├── PersonalAccessTokenRotationConfigurationGetArgs.cs │ ├── ProjectAccessTokenRotationConfigurationArgs.cs │ ├── ProjectAccessTokenRotationConfigurationGetArgs.cs │ ├── ProjectContainerExpirationPolicyArgs.cs │ ├── ProjectContainerExpirationPolicyGetArgs.cs │ ├── ProjectHookCustomHeaderArgs.cs │ ├── ProjectHookCustomHeaderGetArgs.cs │ ├── ProjectIssueBoardListArgs.cs │ ├── ProjectIssueBoardListGetArgs.cs │ ├── ProjectIssueTaskCompletionStatusArgs.cs │ ├── ProjectIssueTaskCompletionStatusGetArgs.cs │ ├── ProjectProtectedEnvironmentApprovalRuleArgs.cs │ ├── ProjectProtectedEnvironmentApprovalRuleGetArgs.cs │ ├── ProjectProtectedEnvironmentDeployAccessLevelArgs.cs │ ├── ProjectProtectedEnvironmentDeployAccessLevelGetArgs.cs │ ├── ProjectPushRulesArgs.cs │ ├── ProjectPushRulesGetArgs.cs │ ├── ProjectTagCommitArgs.cs │ ├── ProjectTagCommitGetArgs.cs │ ├── ProjectTagReleaseArgs.cs │ ├── ProjectTagReleaseGetArgs.cs │ ├── ReleaseAssetsArgs.cs │ ├── ReleaseAssetsGetArgs.cs │ ├── ReleaseAuthorArgs.cs │ ├── ReleaseAuthorGetArgs.cs │ ├── ReleaseCommitArgs.cs │ ├── ReleaseCommitGetArgs.cs │ ├── ReleaseLinksArgs.cs │ ├── ReleaseLinksGetArgs.cs │ ├── TagProtectionAllowedToCreateArgs.cs │ ├── TagProtectionAllowedToCreateGetArgs.cs │ ├── ValueStreamAnalyticsStageArgs.cs │ └── ValueStreamAnalyticsStageGetArgs.cs ├── InstanceCluster.cs ├── InstanceServiceAccount.cs ├── InstanceVariable.cs ├── IntegrationCustomIssueTracker.cs ├── IntegrationEmailsOnPush.cs ├── IntegrationExternalWiki.cs ├── IntegrationGithub.cs ├── IntegrationHarbor.cs ├── IntegrationJenkins.cs ├── IntegrationJira.cs ├── IntegrationMattermost.cs ├── IntegrationMicrosoftTeams.cs ├── IntegrationPipelinesEmail.cs ├── IntegrationSlack.cs ├── IntegrationTelegram.cs ├── Label.cs ├── MemberRole.cs ├── Outputs │ ├── ApplicationSettingsDefaultBranchProtectionDefaults.cs │ ├── BranchCommit.cs │ ├── BranchProtectionAllowedToMerge.cs │ ├── BranchProtectionAllowedToPush.cs │ ├── BranchProtectionAllowedToUnprotect.cs │ ├── GetBranchCommitResult.cs │ ├── GetClusterAgentsClusterAgentResult.cs │ ├── GetGroupAccessTokensAccessTokenResult.cs │ ├── GetGroupBillableMemberMembershipsMembershipResult.cs │ ├── GetGroupHooksHookResult.cs │ ├── GetGroupMembershipMemberResult.cs │ ├── GetGroupProvisionedUsersProvisionedUserResult.cs │ ├── GetGroupSharedWithGroupResult.cs │ ├── GetGroupSubgroupsSubgroupResult.cs │ ├── GetGroupVariablesVariableResult.cs │ ├── GetGroupsGroupResult.cs │ ├── GetInstanceDeployKeysDeployKeyProjectsWithWriteAccessResult.cs │ ├── GetInstanceDeployKeysDeployKeyResult.cs │ ├── GetInstanceVariablesVariableResult.cs │ ├── GetMetadataKasResult.cs │ ├── GetPipelineScheduleLastPipelineResult.cs │ ├── GetPipelineScheduleOwnerResult.cs │ ├── GetPipelineScheduleVariableResult.cs │ ├── GetPipelineSchedulesPipelineScheduleOwnerResult.cs │ ├── GetPipelineSchedulesPipelineScheduleResult.cs │ ├── GetProjectBranchesBranchCommitResult.cs │ ├── GetProjectBranchesBranchResult.cs │ ├── GetProjectContainerExpirationPolicyResult.cs │ ├── GetProjectEnvironmentsEnvironmentResult.cs │ ├── GetProjectHooksHookResult.cs │ ├── GetProjectIssueTaskCompletionStatusResult.cs │ ├── GetProjectIssuesIssueResult.cs │ ├── GetProjectIssuesIssueTaskCompletionStatusResult.cs │ ├── GetProjectMembershipMemberResult.cs │ ├── GetProjectMergeRequestAssigneeResult.cs │ ├── GetProjectMergeRequestAuthorResult.cs │ ├── GetProjectMergeRequestClosedByResult.cs │ ├── GetProjectMilestonesMilestoneResult.cs │ ├── GetProjectProtectedBranchMergeAccessLevelResult.cs │ ├── GetProjectProtectedBranchPushAccessLevelResult.cs │ ├── GetProjectProtectedBranchesProtectedBranchMergeAccessLevelResult.cs │ ├── GetProjectProtectedBranchesProtectedBranchPushAccessLevelResult.cs │ ├── GetProjectProtectedBranchesProtectedBranchResult.cs │ ├── GetProjectProtectedTagCreateAccessLevelResult.cs │ ├── GetProjectProtectedTagsProtectedTagCreateAccessLevelResult.cs │ ├── GetProjectProtectedTagsProtectedTagResult.cs │ ├── GetProjectPushRuleResult.cs │ ├── GetProjectSharedWithGroupResult.cs │ ├── GetProjectTagCommitResult.cs │ ├── GetProjectTagReleaseResult.cs │ ├── GetProjectTagsTagCommitResult.cs │ ├── GetProjectTagsTagReleaseResult.cs │ ├── GetProjectTagsTagResult.cs │ ├── GetProjectVariablesVariableResult.cs │ ├── GetProjectsProjectContainerExpirationPolicyResult.cs │ ├── GetProjectsProjectForkedFromProjectResult.cs │ ├── GetProjectsProjectNamespaceResult.cs │ ├── GetProjectsProjectOwnerResult.cs │ ├── GetProjectsProjectPermissionResult.cs │ ├── GetProjectsProjectResult.cs │ ├── GetProjectsProjectSharedWithGroupResult.cs │ ├── GetReleaseAssetsLinkResult.cs │ ├── GetReleaseAssetsResult.cs │ ├── GetReleaseAssetsSourceResult.cs │ ├── GetReleaseLinksReleaseLinkResult.cs │ ├── GetRepositoryTreeTreeResult.cs │ ├── GetRunnersRunnerResult.cs │ ├── GetUserSshkeysKeyResult.cs │ ├── GetUsersUserResult.cs │ ├── GroupAccessTokenRotationConfiguration.cs │ ├── GroupDefaultBranchProtectionDefaults.cs │ ├── GroupEpicBoardList.cs │ ├── GroupHookCustomHeader.cs │ ├── GroupIssueBoardList.cs │ ├── GroupProtectedEnvironmentApprovalRule.cs │ ├── GroupProtectedEnvironmentDeployAccessLevel.cs │ ├── GroupPushRules.cs │ ├── GroupServiceAccountAccessTokenRotationConfiguration.cs │ ├── InstanceServiceAccountTimeouts.cs │ ├── PersonalAccessTokenRotationConfiguration.cs │ ├── ProjectAccessTokenRotationConfiguration.cs │ ├── ProjectContainerExpirationPolicy.cs │ ├── ProjectHookCustomHeader.cs │ ├── ProjectIssueBoardList.cs │ ├── ProjectIssueTaskCompletionStatus.cs │ ├── ProjectProtectedEnvironmentApprovalRule.cs │ ├── ProjectProtectedEnvironmentDeployAccessLevel.cs │ ├── ProjectPushRules.cs │ ├── ProjectTagCommit.cs │ ├── ProjectTagRelease.cs │ ├── ReleaseAssets.cs │ ├── ReleaseAuthor.cs │ ├── ReleaseCommit.cs │ ├── ReleaseLinks.cs │ ├── TagProtectionAllowedToCreate.cs │ └── ValueStreamAnalyticsStage.cs ├── PagesDomain.cs ├── PersonalAccessToken.cs ├── PipelineSchedule.cs ├── PipelineScheduleVariable.cs ├── PipelineTrigger.cs ├── Project.cs ├── ProjectAccessToken.cs ├── ProjectApprovalRule.cs ├── ProjectBadge.cs ├── ProjectCluster.cs ├── ProjectComplianceFramework.cs ├── ProjectComplianceFrameworks.cs ├── ProjectCustomAttribute.cs ├── ProjectEnvironment.cs ├── ProjectFreezePeriod.cs ├── ProjectHook.cs ├── ProjectIssue.cs ├── ProjectIssueBoard.cs ├── ProjectJobTokenScope.cs ├── ProjectJobTokenScopes.cs ├── ProjectLabel.cs ├── ProjectLevelMrApprovals.cs ├── ProjectLevelNotifications.cs ├── ProjectMembership.cs ├── ProjectMilestone.cs ├── ProjectMirror.cs ├── ProjectProtectedEnvironment.cs ├── ProjectPushRules.cs ├── ProjectRunnerEnablement.cs ├── ProjectSecurityPolicyAttachment.cs ├── ProjectShareGroup.cs ├── ProjectTag.cs ├── ProjectTargetBranchRule.cs ├── ProjectVariable.cs ├── ProjectWikiPage.cs ├── Provider.cs ├── Pulumi.GitLab.csproj ├── Pulumi.yaml ├── README.md ├── Release.cs ├── ReleaseLink.cs ├── RepositoryFile.cs ├── Runner.cs ├── ServiceCustomIssueTracker.cs ├── ServiceEmailsOnPush.cs ├── ServiceExternalWiki.cs ├── ServiceGithub.cs ├── ServiceJira.cs ├── ServiceMicrosoftTeams.cs ├── ServicePipelinesEmail.cs ├── ServiceSlack.cs ├── SystemHook.cs ├── TagProtection.cs ├── Topic.cs ├── User.cs ├── UserCustomAttribute.cs ├── UserGpgKey.cs ├── UserIdentity.cs ├── UserImpersonationToken.cs ├── UserRunner.cs ├── UserSshKey.cs ├── Utilities.cs ├── ValueStreamAnalytics.cs ├── go.mod ├── logo.png └── pulumi-plugin.json ├── go.mod ├── go.sum ├── go ├── Pulumi.yaml └── gitlab │ ├── application.go │ ├── applicationSettings.go │ ├── branch.go │ ├── branchProtection.go │ ├── clusterAgent.go │ ├── clusterAgentToken.go │ ├── complianceFramework.go │ ├── config │ └── config.go │ ├── deployKey.go │ ├── deployKeyEnable.go │ ├── deployToken.go │ ├── doc.go │ ├── getApplication.go │ ├── getBranch.go │ ├── getClusterAgent.go │ ├── getClusterAgents.go │ ├── getComplianceFramework.go │ ├── getCurrentUser.go │ ├── getGroup.go │ ├── getGroupAccessTokens.go │ ├── getGroupBillableMemberMemberships.go │ ├── getGroupHook.go │ ├── getGroupHooks.go │ ├── getGroupIds.go │ ├── getGroupMembership.go │ ├── getGroupProvisionedUsers.go │ ├── getGroupServiceAccount.go │ ├── getGroupSubgroups.go │ ├── getGroupVariable.go │ ├── getGroupVariables.go │ ├── getGroups.go │ ├── getInstanceDeployKeys.go │ ├── getInstanceServiceAccount.go │ ├── getInstanceVariable.go │ ├── getInstanceVariables.go │ ├── getMetadata.go │ ├── getPipelineSchedule.go │ ├── getPipelineSchedules.go │ ├── getProject.go │ ├── getProjectBranches.go │ ├── getProjectEnvironments.go │ ├── getProjectHook.go │ ├── getProjectHooks.go │ ├── getProjectIds.go │ ├── getProjectIssue.go │ ├── getProjectIssues.go │ ├── getProjectMembership.go │ ├── getProjectMergeRequest.go │ ├── getProjectMilestone.go │ ├── getProjectMilestones.go │ ├── getProjectMirrorPublicKey.go │ ├── getProjectProtectedBranch.go │ ├── getProjectProtectedBranches.go │ ├── getProjectProtectedTag.go │ ├── getProjectProtectedTags.go │ ├── getProjectTag.go │ ├── getProjectTags.go │ ├── getProjectVariable.go │ ├── getProjectVariables.go │ ├── getProjects.go │ ├── getRelease.go │ ├── getReleaseLink.go │ ├── getReleaseLinks.go │ ├── getRepositoryFile.go │ ├── getRepositoryTree.go │ ├── getRunners.go │ ├── getUser.go │ ├── getUserSshkeys.go │ ├── getUsers.go │ ├── globalLevelNotifications.go │ ├── group.go │ ├── groupAccessToken.go │ ├── groupBadge.go │ ├── groupCluster.go │ ├── groupCustomAttribute.go │ ├── groupDependencyProxy.go │ ├── groupEpicBoard.go │ ├── groupHook.go │ ├── groupIssueBoard.go │ ├── groupLabel.go │ ├── groupLdapLink.go │ ├── groupMembership.go │ ├── groupProjectFileTemplate.go │ ├── groupProtectedEnvironment.go │ ├── groupSamlLink.go │ ├── groupSecurityPolicyAttachment.go │ ├── groupServiceAccount.go │ ├── groupServiceAccountAccessToken.go │ ├── groupShareGroup.go │ ├── groupVariable.go │ ├── init.go │ ├── instanceCluster.go │ ├── instanceServiceAccount.go │ ├── instanceVariable.go │ ├── integrationCustomIssueTracker.go │ ├── integrationEmailsOnPush.go │ ├── integrationExternalWiki.go │ ├── integrationGithub.go │ ├── integrationHarbor.go │ ├── integrationJenkins.go │ ├── integrationJira.go │ ├── integrationMattermost.go │ ├── integrationMicrosoftTeams.go │ ├── integrationPipelinesEmail.go │ ├── integrationSlack.go │ ├── integrationTelegram.go │ ├── internal │ ├── pulumiUtilities.go │ └── pulumiVersion.go │ ├── label.go │ ├── memberRole.go │ ├── pagesDomain.go │ ├── personalAccessToken.go │ ├── pipelineSchedule.go │ ├── pipelineScheduleVariable.go │ ├── pipelineTrigger.go │ ├── project.go │ ├── projectAccessToken.go │ ├── projectApprovalRule.go │ ├── projectBadge.go │ ├── projectCluster.go │ ├── projectComplianceFramework.go │ ├── projectComplianceFrameworks.go │ ├── projectCustomAttribute.go │ ├── projectEnvironment.go │ ├── projectFreezePeriod.go │ ├── projectHook.go │ ├── projectIssue.go │ ├── projectIssueBoard.go │ ├── projectJobTokenScope.go │ ├── projectJobTokenScopes.go │ ├── projectLabel.go │ ├── projectLevelMrApprovals.go │ ├── projectLevelNotifications.go │ ├── projectMembership.go │ ├── projectMilestone.go │ ├── projectMirror.go │ ├── projectProtectedEnvironment.go │ ├── projectPushRules.go │ ├── projectRunnerEnablement.go │ ├── projectSecurityPolicyAttachment.go │ ├── projectShareGroup.go │ ├── projectTag.go │ ├── projectTargetBranchRule.go │ ├── projectVariable.go │ ├── projectWikiPage.go │ ├── provider.go │ ├── pulumi-plugin.json │ ├── pulumiTypes.go │ ├── release.go │ ├── releaseLink.go │ ├── repositoryFile.go │ ├── runner.go │ ├── serviceCustomIssueTracker.go │ ├── serviceEmailsOnPush.go │ ├── serviceExternalWiki.go │ ├── serviceGithub.go │ ├── serviceJira.go │ ├── serviceMicrosoftTeams.go │ ├── servicePipelinesEmail.go │ ├── serviceSlack.go │ ├── systemHook.go │ ├── tagProtection.go │ ├── topic.go │ ├── user.go │ ├── userCustomAttribute.go │ ├── userGpgKey.go │ ├── userIdentity.go │ ├── userImpersonationToken.go │ ├── userRunner.go │ ├── userSshKey.go │ └── valueStreamAnalytics.go ├── java ├── README.md ├── build.gradle ├── go.mod ├── settings.gradle └── src │ └── main │ └── java │ └── com │ └── pulumi │ └── gitlab │ ├── Application.java │ ├── ApplicationArgs.java │ ├── ApplicationSettings.java │ ├── ApplicationSettingsArgs.java │ ├── Branch.java │ ├── BranchArgs.java │ ├── BranchProtection.java │ ├── BranchProtectionArgs.java │ ├── ClusterAgent.java │ ├── ClusterAgentArgs.java │ ├── ClusterAgentToken.java │ ├── ClusterAgentTokenArgs.java │ ├── ComplianceFramework.java │ ├── ComplianceFrameworkArgs.java │ ├── Config.java │ ├── DeployKey.java │ ├── DeployKeyArgs.java │ ├── DeployKeyEnable.java │ ├── DeployKeyEnableArgs.java │ ├── DeployToken.java │ ├── DeployTokenArgs.java │ ├── GitlabFunctions.java │ ├── GlobalLevelNotifications.java │ ├── GlobalLevelNotificationsArgs.java │ ├── Group.java │ ├── GroupAccessToken.java │ ├── GroupAccessTokenArgs.java │ ├── GroupArgs.java │ ├── GroupBadge.java │ ├── GroupBadgeArgs.java │ ├── GroupCluster.java │ ├── GroupClusterArgs.java │ ├── GroupCustomAttribute.java │ ├── GroupCustomAttributeArgs.java │ ├── GroupDependencyProxy.java │ ├── GroupDependencyProxyArgs.java │ ├── GroupEpicBoard.java │ ├── GroupEpicBoardArgs.java │ ├── GroupHook.java │ ├── GroupHookArgs.java │ ├── GroupIssueBoard.java │ ├── GroupIssueBoardArgs.java │ ├── GroupLabel.java │ ├── GroupLabelArgs.java │ ├── GroupLdapLink.java │ ├── GroupLdapLinkArgs.java │ ├── GroupMembership.java │ ├── GroupMembershipArgs.java │ ├── GroupProjectFileTemplate.java │ ├── GroupProjectFileTemplateArgs.java │ ├── GroupProtectedEnvironment.java │ ├── GroupProtectedEnvironmentArgs.java │ ├── GroupSamlLink.java │ ├── GroupSamlLinkArgs.java │ ├── GroupSecurityPolicyAttachment.java │ ├── GroupSecurityPolicyAttachmentArgs.java │ ├── GroupServiceAccount.java │ ├── GroupServiceAccountAccessToken.java │ ├── GroupServiceAccountAccessTokenArgs.java │ ├── GroupServiceAccountArgs.java │ ├── GroupShareGroup.java │ ├── GroupShareGroupArgs.java │ ├── GroupVariable.java │ ├── GroupVariableArgs.java │ ├── InstanceCluster.java │ ├── InstanceClusterArgs.java │ ├── InstanceServiceAccount.java │ ├── InstanceServiceAccountArgs.java │ ├── InstanceVariable.java │ ├── InstanceVariableArgs.java │ ├── IntegrationCustomIssueTracker.java │ ├── IntegrationCustomIssueTrackerArgs.java │ ├── IntegrationEmailsOnPush.java │ ├── IntegrationEmailsOnPushArgs.java │ ├── IntegrationExternalWiki.java │ ├── IntegrationExternalWikiArgs.java │ ├── IntegrationGithub.java │ ├── IntegrationGithubArgs.java │ ├── IntegrationHarbor.java │ ├── IntegrationHarborArgs.java │ ├── IntegrationJenkins.java │ ├── IntegrationJenkinsArgs.java │ ├── IntegrationJira.java │ ├── IntegrationJiraArgs.java │ ├── IntegrationMattermost.java │ ├── IntegrationMattermostArgs.java │ ├── IntegrationMicrosoftTeams.java │ ├── IntegrationMicrosoftTeamsArgs.java │ ├── IntegrationPipelinesEmail.java │ ├── IntegrationPipelinesEmailArgs.java │ ├── IntegrationSlack.java │ ├── IntegrationSlackArgs.java │ ├── IntegrationTelegram.java │ ├── IntegrationTelegramArgs.java │ ├── Label.java │ ├── LabelArgs.java │ ├── MemberRole.java │ ├── MemberRoleArgs.java │ ├── PagesDomain.java │ ├── PagesDomainArgs.java │ ├── PersonalAccessToken.java │ ├── PersonalAccessTokenArgs.java │ ├── PipelineSchedule.java │ ├── PipelineScheduleArgs.java │ ├── PipelineScheduleVariable.java │ ├── PipelineScheduleVariableArgs.java │ ├── PipelineTrigger.java │ ├── PipelineTriggerArgs.java │ ├── Project.java │ ├── ProjectAccessToken.java │ ├── ProjectAccessTokenArgs.java │ ├── ProjectApprovalRule.java │ ├── ProjectApprovalRuleArgs.java │ ├── ProjectArgs.java │ ├── ProjectBadge.java │ ├── ProjectBadgeArgs.java │ ├── ProjectCluster.java │ ├── ProjectClusterArgs.java │ ├── ProjectComplianceFramework.java │ ├── ProjectComplianceFrameworkArgs.java │ ├── ProjectComplianceFrameworks.java │ ├── ProjectComplianceFrameworksArgs.java │ ├── ProjectCustomAttribute.java │ ├── ProjectCustomAttributeArgs.java │ ├── ProjectEnvironment.java │ ├── ProjectEnvironmentArgs.java │ ├── ProjectFreezePeriod.java │ ├── ProjectFreezePeriodArgs.java │ ├── ProjectHook.java │ ├── ProjectHookArgs.java │ ├── ProjectIssue.java │ ├── ProjectIssueArgs.java │ ├── ProjectIssueBoard.java │ ├── ProjectIssueBoardArgs.java │ ├── ProjectJobTokenScope.java │ ├── ProjectJobTokenScopeArgs.java │ ├── ProjectJobTokenScopes.java │ ├── ProjectJobTokenScopesArgs.java │ ├── ProjectLabel.java │ ├── ProjectLabelArgs.java │ ├── ProjectLevelMrApprovals.java │ ├── ProjectLevelMrApprovalsArgs.java │ ├── ProjectLevelNotifications.java │ ├── ProjectLevelNotificationsArgs.java │ ├── ProjectMembership.java │ ├── ProjectMembershipArgs.java │ ├── ProjectMilestone.java │ ├── ProjectMilestoneArgs.java │ ├── ProjectMirror.java │ ├── ProjectMirrorArgs.java │ ├── ProjectProtectedEnvironment.java │ ├── ProjectProtectedEnvironmentArgs.java │ ├── ProjectPushRules.java │ ├── ProjectPushRulesArgs.java │ ├── ProjectRunnerEnablement.java │ ├── ProjectRunnerEnablementArgs.java │ ├── ProjectSecurityPolicyAttachment.java │ ├── ProjectSecurityPolicyAttachmentArgs.java │ ├── ProjectShareGroup.java │ ├── ProjectShareGroupArgs.java │ ├── ProjectTag.java │ ├── ProjectTagArgs.java │ ├── ProjectTargetBranchRule.java │ ├── ProjectTargetBranchRuleArgs.java │ ├── ProjectVariable.java │ ├── ProjectVariableArgs.java │ ├── ProjectWikiPage.java │ ├── ProjectWikiPageArgs.java │ ├── Provider.java │ ├── ProviderArgs.java │ ├── Release.java │ ├── ReleaseArgs.java │ ├── ReleaseLink.java │ ├── ReleaseLinkArgs.java │ ├── RepositoryFile.java │ ├── RepositoryFileArgs.java │ ├── Runner.java │ ├── RunnerArgs.java │ ├── ServiceCustomIssueTracker.java │ ├── ServiceCustomIssueTrackerArgs.java │ ├── ServiceEmailsOnPush.java │ ├── ServiceEmailsOnPushArgs.java │ ├── ServiceExternalWiki.java │ ├── ServiceExternalWikiArgs.java │ ├── ServiceGithub.java │ ├── ServiceGithubArgs.java │ ├── ServiceJira.java │ ├── ServiceJiraArgs.java │ ├── ServiceMicrosoftTeams.java │ ├── ServiceMicrosoftTeamsArgs.java │ ├── ServicePipelinesEmail.java │ ├── ServicePipelinesEmailArgs.java │ ├── ServiceSlack.java │ ├── ServiceSlackArgs.java │ ├── SystemHook.java │ ├── SystemHookArgs.java │ ├── TagProtection.java │ ├── TagProtectionArgs.java │ ├── Topic.java │ ├── TopicArgs.java │ ├── User.java │ ├── UserArgs.java │ ├── UserCustomAttribute.java │ ├── UserCustomAttributeArgs.java │ ├── UserGpgKey.java │ ├── UserGpgKeyArgs.java │ ├── UserIdentity.java │ ├── UserIdentityArgs.java │ ├── UserImpersonationToken.java │ ├── UserImpersonationTokenArgs.java │ ├── UserRunner.java │ ├── UserRunnerArgs.java │ ├── UserSshKey.java │ ├── UserSshKeyArgs.java │ ├── Utilities.java │ ├── ValueStreamAnalytics.java │ ├── ValueStreamAnalyticsArgs.java │ ├── inputs │ ├── ApplicationSettingsDefaultBranchProtectionDefaultsArgs.java │ ├── ApplicationSettingsState.java │ ├── ApplicationState.java │ ├── BranchCommitArgs.java │ ├── BranchProtectionAllowedToMergeArgs.java │ ├── BranchProtectionAllowedToPushArgs.java │ ├── BranchProtectionAllowedToUnprotectArgs.java │ ├── BranchProtectionState.java │ ├── BranchState.java │ ├── ClusterAgentState.java │ ├── ClusterAgentTokenState.java │ ├── ComplianceFrameworkState.java │ ├── DeployKeyEnableState.java │ ├── DeployKeyState.java │ ├── DeployTokenState.java │ ├── GetApplicationArgs.java │ ├── GetApplicationPlainArgs.java │ ├── GetBranchArgs.java │ ├── GetBranchPlainArgs.java │ ├── GetClusterAgentArgs.java │ ├── GetClusterAgentPlainArgs.java │ ├── GetClusterAgentsArgs.java │ ├── GetClusterAgentsPlainArgs.java │ ├── GetComplianceFrameworkArgs.java │ ├── GetComplianceFrameworkPlainArgs.java │ ├── GetGroupAccessTokensArgs.java │ ├── GetGroupAccessTokensPlainArgs.java │ ├── GetGroupArgs.java │ ├── GetGroupBillableMemberMembershipsArgs.java │ ├── GetGroupBillableMemberMembershipsPlainArgs.java │ ├── GetGroupHookArgs.java │ ├── GetGroupHookPlainArgs.java │ ├── GetGroupHooksArgs.java │ ├── GetGroupHooksPlainArgs.java │ ├── GetGroupIdsArgs.java │ ├── GetGroupIdsPlainArgs.java │ ├── GetGroupMembershipArgs.java │ ├── GetGroupMembershipPlainArgs.java │ ├── GetGroupPlainArgs.java │ ├── GetGroupProvisionedUsersArgs.java │ ├── GetGroupProvisionedUsersPlainArgs.java │ ├── GetGroupProvisionedUsersProvisionedUser.java │ ├── GetGroupProvisionedUsersProvisionedUserArgs.java │ ├── GetGroupServiceAccountArgs.java │ ├── GetGroupServiceAccountPlainArgs.java │ ├── GetGroupSubgroupsArgs.java │ ├── GetGroupSubgroupsPlainArgs.java │ ├── GetGroupVariableArgs.java │ ├── GetGroupVariablePlainArgs.java │ ├── GetGroupVariablesArgs.java │ ├── GetGroupVariablesPlainArgs.java │ ├── GetGroupsArgs.java │ ├── GetGroupsPlainArgs.java │ ├── GetInstanceDeployKeysArgs.java │ ├── GetInstanceDeployKeysPlainArgs.java │ ├── GetInstanceServiceAccountArgs.java │ ├── GetInstanceServiceAccountPlainArgs.java │ ├── GetInstanceVariableArgs.java │ ├── GetInstanceVariablePlainArgs.java │ ├── GetPipelineScheduleArgs.java │ ├── GetPipelineSchedulePlainArgs.java │ ├── GetPipelineSchedulesArgs.java │ ├── GetPipelineSchedulesPlainArgs.java │ ├── GetProjectArgs.java │ ├── GetProjectBranchesArgs.java │ ├── GetProjectBranchesPlainArgs.java │ ├── GetProjectEnvironmentsArgs.java │ ├── GetProjectEnvironmentsPlainArgs.java │ ├── GetProjectHookArgs.java │ ├── GetProjectHookPlainArgs.java │ ├── GetProjectHooksArgs.java │ ├── GetProjectHooksPlainArgs.java │ ├── GetProjectIdsArgs.java │ ├── GetProjectIdsPlainArgs.java │ ├── GetProjectIssueArgs.java │ ├── GetProjectIssuePlainArgs.java │ ├── GetProjectIssuesArgs.java │ ├── GetProjectIssuesPlainArgs.java │ ├── GetProjectMembershipArgs.java │ ├── GetProjectMembershipPlainArgs.java │ ├── GetProjectMergeRequestArgs.java │ ├── GetProjectMergeRequestPlainArgs.java │ ├── GetProjectMilestoneArgs.java │ ├── GetProjectMilestonePlainArgs.java │ ├── GetProjectMilestonesArgs.java │ ├── GetProjectMilestonesPlainArgs.java │ ├── GetProjectMirrorPublicKeyArgs.java │ ├── GetProjectMirrorPublicKeyPlainArgs.java │ ├── GetProjectPlainArgs.java │ ├── GetProjectProtectedBranchArgs.java │ ├── GetProjectProtectedBranchMergeAccessLevel.java │ ├── GetProjectProtectedBranchMergeAccessLevelArgs.java │ ├── GetProjectProtectedBranchPlainArgs.java │ ├── GetProjectProtectedBranchPushAccessLevel.java │ ├── GetProjectProtectedBranchPushAccessLevelArgs.java │ ├── GetProjectProtectedBranchesArgs.java │ ├── GetProjectProtectedBranchesPlainArgs.java │ ├── GetProjectProtectedBranchesProtectedBranch.java │ ├── GetProjectProtectedBranchesProtectedBranchArgs.java │ ├── GetProjectProtectedBranchesProtectedBranchMergeAccessLevel.java │ ├── GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs.java │ ├── GetProjectProtectedBranchesProtectedBranchPushAccessLevel.java │ ├── GetProjectProtectedBranchesProtectedBranchPushAccessLevelArgs.java │ ├── GetProjectProtectedTagArgs.java │ ├── GetProjectProtectedTagPlainArgs.java │ ├── GetProjectProtectedTagsArgs.java │ ├── GetProjectProtectedTagsPlainArgs.java │ ├── GetProjectTagArgs.java │ ├── GetProjectTagPlainArgs.java │ ├── GetProjectTagsArgs.java │ ├── GetProjectTagsPlainArgs.java │ ├── GetProjectVariableArgs.java │ ├── GetProjectVariablePlainArgs.java │ ├── GetProjectVariablesArgs.java │ ├── GetProjectVariablesPlainArgs.java │ ├── GetProjectsArgs.java │ ├── GetProjectsPlainArgs.java │ ├── GetReleaseArgs.java │ ├── GetReleaseAssets.java │ ├── GetReleaseAssetsArgs.java │ ├── GetReleaseAssetsLink.java │ ├── GetReleaseAssetsLinkArgs.java │ ├── GetReleaseAssetsSource.java │ ├── GetReleaseAssetsSourceArgs.java │ ├── GetReleaseLinkArgs.java │ ├── GetReleaseLinkPlainArgs.java │ ├── GetReleaseLinksArgs.java │ ├── GetReleaseLinksPlainArgs.java │ ├── GetReleasePlainArgs.java │ ├── GetRepositoryFileArgs.java │ ├── GetRepositoryFilePlainArgs.java │ ├── GetRepositoryTreeArgs.java │ ├── GetRepositoryTreePlainArgs.java │ ├── GetRunnersArgs.java │ ├── GetRunnersPlainArgs.java │ ├── GetUserArgs.java │ ├── GetUserPlainArgs.java │ ├── GetUserSshkeysArgs.java │ ├── GetUserSshkeysPlainArgs.java │ ├── GetUsersArgs.java │ ├── GetUsersPlainArgs.java │ ├── GlobalLevelNotificationsState.java │ ├── GroupAccessTokenRotationConfigurationArgs.java │ ├── GroupAccessTokenState.java │ ├── GroupBadgeState.java │ ├── GroupClusterState.java │ ├── GroupCustomAttributeState.java │ ├── GroupDefaultBranchProtectionDefaultsArgs.java │ ├── GroupDependencyProxyState.java │ ├── GroupEpicBoardListArgs.java │ ├── GroupEpicBoardState.java │ ├── GroupHookCustomHeaderArgs.java │ ├── GroupHookState.java │ ├── GroupIssueBoardListArgs.java │ ├── GroupIssueBoardState.java │ ├── GroupLabelState.java │ ├── GroupLdapLinkState.java │ ├── GroupMembershipState.java │ ├── GroupProjectFileTemplateState.java │ ├── GroupProtectedEnvironmentApprovalRuleArgs.java │ ├── GroupProtectedEnvironmentDeployAccessLevelArgs.java │ ├── GroupProtectedEnvironmentState.java │ ├── GroupPushRulesArgs.java │ ├── GroupSamlLinkState.java │ ├── GroupSecurityPolicyAttachmentState.java │ ├── GroupServiceAccountAccessTokenRotationConfigurationArgs.java │ ├── GroupServiceAccountAccessTokenState.java │ ├── GroupServiceAccountState.java │ ├── GroupShareGroupState.java │ ├── GroupState.java │ ├── GroupVariableState.java │ ├── InstanceClusterState.java │ ├── InstanceServiceAccountState.java │ ├── InstanceServiceAccountTimeoutsArgs.java │ ├── InstanceVariableState.java │ ├── IntegrationCustomIssueTrackerState.java │ ├── IntegrationEmailsOnPushState.java │ ├── IntegrationExternalWikiState.java │ ├── IntegrationGithubState.java │ ├── IntegrationHarborState.java │ ├── IntegrationJenkinsState.java │ ├── IntegrationJiraState.java │ ├── IntegrationMattermostState.java │ ├── IntegrationMicrosoftTeamsState.java │ ├── IntegrationPipelinesEmailState.java │ ├── IntegrationSlackState.java │ ├── IntegrationTelegramState.java │ ├── LabelState.java │ ├── MemberRoleState.java │ ├── PagesDomainState.java │ ├── PersonalAccessTokenRotationConfigurationArgs.java │ ├── PersonalAccessTokenState.java │ ├── PipelineScheduleState.java │ ├── PipelineScheduleVariableState.java │ ├── PipelineTriggerState.java │ ├── ProjectAccessTokenRotationConfigurationArgs.java │ ├── ProjectAccessTokenState.java │ ├── ProjectApprovalRuleState.java │ ├── ProjectBadgeState.java │ ├── ProjectClusterState.java │ ├── ProjectComplianceFrameworkState.java │ ├── ProjectComplianceFrameworksState.java │ ├── ProjectContainerExpirationPolicyArgs.java │ ├── ProjectCustomAttributeState.java │ ├── ProjectEnvironmentState.java │ ├── ProjectFreezePeriodState.java │ ├── ProjectHookCustomHeaderArgs.java │ ├── ProjectHookState.java │ ├── ProjectIssueBoardListArgs.java │ ├── ProjectIssueBoardState.java │ ├── ProjectIssueState.java │ ├── ProjectIssueTaskCompletionStatusArgs.java │ ├── ProjectJobTokenScopeState.java │ ├── ProjectJobTokenScopesState.java │ ├── ProjectLabelState.java │ ├── ProjectLevelMrApprovalsState.java │ ├── ProjectLevelNotificationsState.java │ ├── ProjectMembershipState.java │ ├── ProjectMilestoneState.java │ ├── ProjectMirrorState.java │ ├── ProjectProtectedEnvironmentApprovalRuleArgs.java │ ├── ProjectProtectedEnvironmentDeployAccessLevelArgs.java │ ├── ProjectProtectedEnvironmentState.java │ ├── ProjectPushRulesArgs.java │ ├── ProjectPushRulesState.java │ ├── ProjectRunnerEnablementState.java │ ├── ProjectSecurityPolicyAttachmentState.java │ ├── ProjectShareGroupState.java │ ├── ProjectState.java │ ├── ProjectTagCommitArgs.java │ ├── ProjectTagReleaseArgs.java │ ├── ProjectTagState.java │ ├── ProjectTargetBranchRuleState.java │ ├── ProjectVariableState.java │ ├── ProjectWikiPageState.java │ ├── ReleaseAssetsArgs.java │ ├── ReleaseAuthorArgs.java │ ├── ReleaseCommitArgs.java │ ├── ReleaseLinkState.java │ ├── ReleaseLinksArgs.java │ ├── ReleaseState.java │ ├── RepositoryFileState.java │ ├── RunnerState.java │ ├── ServiceCustomIssueTrackerState.java │ ├── ServiceEmailsOnPushState.java │ ├── ServiceExternalWikiState.java │ ├── ServiceGithubState.java │ ├── ServiceJiraState.java │ ├── ServiceMicrosoftTeamsState.java │ ├── ServicePipelinesEmailState.java │ ├── ServiceSlackState.java │ ├── SystemHookState.java │ ├── TagProtectionAllowedToCreateArgs.java │ ├── TagProtectionState.java │ ├── TopicState.java │ ├── UserCustomAttributeState.java │ ├── UserGpgKeyState.java │ ├── UserIdentityState.java │ ├── UserImpersonationTokenState.java │ ├── UserRunnerState.java │ ├── UserSshKeyState.java │ ├── UserState.java │ ├── ValueStreamAnalyticsStageArgs.java │ └── ValueStreamAnalyticsState.java │ └── outputs │ ├── ApplicationSettingsDefaultBranchProtectionDefaults.java │ ├── BranchCommit.java │ ├── BranchProtectionAllowedToMerge.java │ ├── BranchProtectionAllowedToPush.java │ ├── BranchProtectionAllowedToUnprotect.java │ ├── GetApplicationResult.java │ ├── GetBranchCommit.java │ ├── GetBranchResult.java │ ├── GetClusterAgentResult.java │ ├── GetClusterAgentsClusterAgent.java │ ├── GetClusterAgentsResult.java │ ├── GetComplianceFrameworkResult.java │ ├── GetCurrentUserResult.java │ ├── GetGroupAccessTokensAccessToken.java │ ├── GetGroupAccessTokensResult.java │ ├── GetGroupBillableMemberMembershipsMembership.java │ ├── GetGroupBillableMemberMembershipsResult.java │ ├── GetGroupHookResult.java │ ├── GetGroupHooksHook.java │ ├── GetGroupHooksResult.java │ ├── GetGroupIdsResult.java │ ├── GetGroupMembershipMember.java │ ├── GetGroupMembershipResult.java │ ├── GetGroupProvisionedUsersProvisionedUser.java │ ├── GetGroupProvisionedUsersResult.java │ ├── GetGroupResult.java │ ├── GetGroupServiceAccountResult.java │ ├── GetGroupSharedWithGroup.java │ ├── GetGroupSubgroupsResult.java │ ├── GetGroupSubgroupsSubgroup.java │ ├── GetGroupVariableResult.java │ ├── GetGroupVariablesResult.java │ ├── GetGroupVariablesVariable.java │ ├── GetGroupsGroup.java │ ├── GetGroupsResult.java │ ├── GetInstanceDeployKeysDeployKey.java │ ├── GetInstanceDeployKeysDeployKeyProjectsWithWriteAccess.java │ ├── GetInstanceDeployKeysResult.java │ ├── GetInstanceServiceAccountResult.java │ ├── GetInstanceVariableResult.java │ ├── GetInstanceVariablesResult.java │ ├── GetInstanceVariablesVariable.java │ ├── GetMetadataKas.java │ ├── GetMetadataResult.java │ ├── GetPipelineScheduleLastPipeline.java │ ├── GetPipelineScheduleOwner.java │ ├── GetPipelineScheduleResult.java │ ├── GetPipelineScheduleVariable.java │ ├── GetPipelineSchedulesPipelineSchedule.java │ ├── GetPipelineSchedulesPipelineScheduleOwner.java │ ├── GetPipelineSchedulesResult.java │ ├── GetProjectBranchesBranch.java │ ├── GetProjectBranchesBranchCommit.java │ ├── GetProjectBranchesResult.java │ ├── GetProjectContainerExpirationPolicy.java │ ├── GetProjectEnvironmentsEnvironment.java │ ├── GetProjectEnvironmentsResult.java │ ├── GetProjectHookResult.java │ ├── GetProjectHooksHook.java │ ├── GetProjectHooksResult.java │ ├── GetProjectIdsResult.java │ ├── GetProjectIssueResult.java │ ├── GetProjectIssueTaskCompletionStatus.java │ ├── GetProjectIssuesIssue.java │ ├── GetProjectIssuesIssueTaskCompletionStatus.java │ ├── GetProjectIssuesResult.java │ ├── GetProjectMembershipMember.java │ ├── GetProjectMembershipResult.java │ ├── GetProjectMergeRequestAssignee.java │ ├── GetProjectMergeRequestAuthor.java │ ├── GetProjectMergeRequestClosedBy.java │ ├── GetProjectMergeRequestResult.java │ ├── GetProjectMilestoneResult.java │ ├── GetProjectMilestonesMilestone.java │ ├── GetProjectMilestonesResult.java │ ├── GetProjectMirrorPublicKeyResult.java │ ├── GetProjectProtectedBranchMergeAccessLevel.java │ ├── GetProjectProtectedBranchPushAccessLevel.java │ ├── GetProjectProtectedBranchResult.java │ ├── GetProjectProtectedBranchesProtectedBranch.java │ ├── GetProjectProtectedBranchesProtectedBranchMergeAccessLevel.java │ ├── GetProjectProtectedBranchesProtectedBranchPushAccessLevel.java │ ├── GetProjectProtectedBranchesResult.java │ ├── GetProjectProtectedTagCreateAccessLevel.java │ ├── GetProjectProtectedTagResult.java │ ├── GetProjectProtectedTagsProtectedTag.java │ ├── GetProjectProtectedTagsProtectedTagCreateAccessLevel.java │ ├── GetProjectProtectedTagsResult.java │ ├── GetProjectPushRule.java │ ├── GetProjectResult.java │ ├── GetProjectSharedWithGroup.java │ ├── GetProjectTagCommit.java │ ├── GetProjectTagRelease.java │ ├── GetProjectTagResult.java │ ├── GetProjectTagsResult.java │ ├── GetProjectTagsTag.java │ ├── GetProjectTagsTagCommit.java │ ├── GetProjectTagsTagRelease.java │ ├── GetProjectVariableResult.java │ ├── GetProjectVariablesResult.java │ ├── GetProjectVariablesVariable.java │ ├── GetProjectsProject.java │ ├── GetProjectsProjectContainerExpirationPolicy.java │ ├── GetProjectsProjectForkedFromProject.java │ ├── GetProjectsProjectNamespace.java │ ├── GetProjectsProjectOwner.java │ ├── GetProjectsProjectPermission.java │ ├── GetProjectsProjectSharedWithGroup.java │ ├── GetProjectsResult.java │ ├── GetReleaseAssets.java │ ├── GetReleaseAssetsLink.java │ ├── GetReleaseAssetsSource.java │ ├── GetReleaseLinkResult.java │ ├── GetReleaseLinksReleaseLink.java │ ├── GetReleaseLinksResult.java │ ├── GetReleaseResult.java │ ├── GetRepositoryFileResult.java │ ├── GetRepositoryTreeResult.java │ ├── GetRepositoryTreeTree.java │ ├── GetRunnersResult.java │ ├── GetRunnersRunner.java │ ├── GetUserResult.java │ ├── GetUserSshkeysKey.java │ ├── GetUserSshkeysResult.java │ ├── GetUsersResult.java │ ├── GetUsersUser.java │ ├── GroupAccessTokenRotationConfiguration.java │ ├── GroupDefaultBranchProtectionDefaults.java │ ├── GroupEpicBoardList.java │ ├── GroupHookCustomHeader.java │ ├── GroupIssueBoardList.java │ ├── GroupProtectedEnvironmentApprovalRule.java │ ├── GroupProtectedEnvironmentDeployAccessLevel.java │ ├── GroupPushRules.java │ ├── GroupServiceAccountAccessTokenRotationConfiguration.java │ ├── InstanceServiceAccountTimeouts.java │ ├── PersonalAccessTokenRotationConfiguration.java │ ├── ProjectAccessTokenRotationConfiguration.java │ ├── ProjectContainerExpirationPolicy.java │ ├── ProjectHookCustomHeader.java │ ├── ProjectIssueBoardList.java │ ├── ProjectIssueTaskCompletionStatus.java │ ├── ProjectProtectedEnvironmentApprovalRule.java │ ├── ProjectProtectedEnvironmentDeployAccessLevel.java │ ├── ProjectPushRules.java │ ├── ProjectTagCommit.java │ ├── ProjectTagRelease.java │ ├── ReleaseAssets.java │ ├── ReleaseAuthor.java │ ├── ReleaseCommit.java │ ├── ReleaseLinks.java │ ├── TagProtectionAllowedToCreate.java │ └── ValueStreamAnalyticsStage.java ├── nodejs ├── Pulumi.yaml ├── README.md ├── application.ts ├── applicationSettings.ts ├── branch.ts ├── branchProtection.ts ├── clusterAgent.ts ├── clusterAgentToken.ts ├── complianceFramework.ts ├── config │ ├── index.ts │ └── vars.ts ├── deployKey.ts ├── deployKeyEnable.ts ├── deployToken.ts ├── getApplication.ts ├── getBranch.ts ├── getClusterAgent.ts ├── getClusterAgents.ts ├── getComplianceFramework.ts ├── getCurrentUser.ts ├── getGroup.ts ├── getGroupAccessTokens.ts ├── getGroupBillableMemberMemberships.ts ├── getGroupHook.ts ├── getGroupHooks.ts ├── getGroupIds.ts ├── getGroupMembership.ts ├── getGroupProvisionedUsers.ts ├── getGroupServiceAccount.ts ├── getGroupSubgroups.ts ├── getGroupVariable.ts ├── getGroupVariables.ts ├── getGroups.ts ├── getInstanceDeployKeys.ts ├── getInstanceServiceAccount.ts ├── getInstanceVariable.ts ├── getInstanceVariables.ts ├── getMetadata.ts ├── getPipelineSchedule.ts ├── getPipelineSchedules.ts ├── getProject.ts ├── getProjectBranches.ts ├── getProjectEnvironments.ts ├── getProjectHook.ts ├── getProjectHooks.ts ├── getProjectIds.ts ├── getProjectIssue.ts ├── getProjectIssues.ts ├── getProjectMembership.ts ├── getProjectMergeRequest.ts ├── getProjectMilestone.ts ├── getProjectMilestones.ts ├── getProjectMirrorPublicKey.ts ├── getProjectProtectedBranch.ts ├── getProjectProtectedBranches.ts ├── getProjectProtectedTag.ts ├── getProjectProtectedTags.ts ├── getProjectTag.ts ├── getProjectTags.ts ├── getProjectVariable.ts ├── getProjectVariables.ts ├── getProjects.ts ├── getRelease.ts ├── getReleaseLink.ts ├── getReleaseLinks.ts ├── getRepositoryFile.ts ├── getRepositoryTree.ts ├── getRunners.ts ├── getUser.ts ├── getUserSshkeys.ts ├── getUsers.ts ├── globalLevelNotifications.ts ├── go.mod ├── group.ts ├── groupAccessToken.ts ├── groupBadge.ts ├── groupCluster.ts ├── groupCustomAttribute.ts ├── groupDependencyProxy.ts ├── groupEpicBoard.ts ├── groupHook.ts ├── groupIssueBoard.ts ├── groupLabel.ts ├── groupLdapLink.ts ├── groupMembership.ts ├── groupProjectFileTemplate.ts ├── groupProtectedEnvironment.ts ├── groupSamlLink.ts ├── groupSecurityPolicyAttachment.ts ├── groupServiceAccount.ts ├── groupServiceAccountAccessToken.ts ├── groupShareGroup.ts ├── groupVariable.ts ├── index.ts ├── instanceCluster.ts ├── instanceServiceAccount.ts ├── instanceVariable.ts ├── integrationCustomIssueTracker.ts ├── integrationEmailsOnPush.ts ├── integrationExternalWiki.ts ├── integrationGithub.ts ├── integrationHarbor.ts ├── integrationJenkins.ts ├── integrationJira.ts ├── integrationMattermost.ts ├── integrationMicrosoftTeams.ts ├── integrationPipelinesEmail.ts ├── integrationSlack.ts ├── integrationTelegram.ts ├── label.ts ├── memberRole.ts ├── package.json ├── pagesDomain.ts ├── personalAccessToken.ts ├── pipelineSchedule.ts ├── pipelineScheduleVariable.ts ├── pipelineTrigger.ts ├── project.ts ├── projectAccessToken.ts ├── projectApprovalRule.ts ├── projectBadge.ts ├── projectCluster.ts ├── projectComplianceFramework.ts ├── projectComplianceFrameworks.ts ├── projectCustomAttribute.ts ├── projectEnvironment.ts ├── projectFreezePeriod.ts ├── projectHook.ts ├── projectIssue.ts ├── projectIssueBoard.ts ├── projectJobTokenScope.ts ├── projectJobTokenScopes.ts ├── projectLabel.ts ├── projectLevelMrApprovals.ts ├── projectLevelNotifications.ts ├── projectMembership.ts ├── projectMilestone.ts ├── projectMirror.ts ├── projectProtectedEnvironment.ts ├── projectPushRules.ts ├── projectRunnerEnablement.ts ├── projectSecurityPolicyAttachment.ts ├── projectShareGroup.ts ├── projectTag.ts ├── projectTargetBranchRule.ts ├── projectVariable.ts ├── projectWikiPage.ts ├── provider.ts ├── release.ts ├── releaseLink.ts ├── repositoryFile.ts ├── runner.ts ├── serviceCustomIssueTracker.ts ├── serviceEmailsOnPush.ts ├── serviceExternalWiki.ts ├── serviceGithub.ts ├── serviceJira.ts ├── serviceMicrosoftTeams.ts ├── servicePipelinesEmail.ts ├── serviceSlack.ts ├── systemHook.ts ├── tagProtection.ts ├── topic.ts ├── tsconfig.json ├── types │ ├── index.ts │ ├── input.ts │ └── output.ts ├── user.ts ├── userCustomAttribute.ts ├── userGpgKey.ts ├── userIdentity.ts ├── userImpersonationToken.ts ├── userRunner.ts ├── userSshKey.ts ├── utilities.ts └── valueStreamAnalytics.ts └── python ├── Pulumi.yaml ├── README.md ├── go.mod ├── pulumi_gitlab ├── README.md ├── __init__.py ├── _inputs.py ├── _utilities.py ├── application.py ├── application_settings.py ├── branch.py ├── branch_protection.py ├── cluster_agent.py ├── cluster_agent_token.py ├── compliance_framework.py ├── config │ ├── __init__.py │ ├── __init__.pyi │ └── vars.py ├── deploy_key.py ├── deploy_key_enable.py ├── deploy_token.py ├── get_application.py ├── get_branch.py ├── get_cluster_agent.py ├── get_cluster_agents.py ├── get_compliance_framework.py ├── get_current_user.py ├── get_group.py ├── get_group_access_tokens.py ├── get_group_billable_member_memberships.py ├── get_group_hook.py ├── get_group_hooks.py ├── get_group_ids.py ├── get_group_membership.py ├── get_group_provisioned_users.py ├── get_group_service_account.py ├── get_group_subgroups.py ├── get_group_variable.py ├── get_group_variables.py ├── get_groups.py ├── get_instance_deploy_keys.py ├── get_instance_service_account.py ├── get_instance_variable.py ├── get_instance_variables.py ├── get_metadata.py ├── get_pipeline_schedule.py ├── get_pipeline_schedules.py ├── get_project.py ├── get_project_branches.py ├── get_project_environments.py ├── get_project_hook.py ├── get_project_hooks.py ├── get_project_ids.py ├── get_project_issue.py ├── get_project_issues.py ├── get_project_membership.py ├── get_project_merge_request.py ├── get_project_milestone.py ├── get_project_milestones.py ├── get_project_mirror_public_key.py ├── get_project_protected_branch.py ├── get_project_protected_branches.py ├── get_project_protected_tag.py ├── get_project_protected_tags.py ├── get_project_tag.py ├── get_project_tags.py ├── get_project_variable.py ├── get_project_variables.py ├── get_projects.py ├── get_release.py ├── get_release_link.py ├── get_release_links.py ├── get_repository_file.py ├── get_repository_tree.py ├── get_runners.py ├── get_user.py ├── get_user_sshkeys.py ├── get_users.py ├── global_level_notifications.py ├── group.py ├── group_access_token.py ├── group_badge.py ├── group_cluster.py ├── group_custom_attribute.py ├── group_dependency_proxy.py ├── group_epic_board.py ├── group_hook.py ├── group_issue_board.py ├── group_label.py ├── group_ldap_link.py ├── group_membership.py ├── group_project_file_template.py ├── group_protected_environment.py ├── group_saml_link.py ├── group_security_policy_attachment.py ├── group_service_account.py ├── group_service_account_access_token.py ├── group_share_group.py ├── group_variable.py ├── instance_cluster.py ├── instance_service_account.py ├── instance_variable.py ├── integration_custom_issue_tracker.py ├── integration_emails_on_push.py ├── integration_external_wiki.py ├── integration_github.py ├── integration_harbor.py ├── integration_jenkins.py ├── integration_jira.py ├── integration_mattermost.py ├── integration_microsoft_teams.py ├── integration_pipelines_email.py ├── integration_slack.py ├── integration_telegram.py ├── label.py ├── member_role.py ├── outputs.py ├── pages_domain.py ├── personal_access_token.py ├── pipeline_schedule.py ├── pipeline_schedule_variable.py ├── pipeline_trigger.py ├── project.py ├── project_access_token.py ├── project_approval_rule.py ├── project_badge.py ├── project_cluster.py ├── project_compliance_framework.py ├── project_compliance_frameworks.py ├── project_custom_attribute.py ├── project_environment.py ├── project_freeze_period.py ├── project_hook.py ├── project_issue.py ├── project_issue_board.py ├── project_job_token_scope.py ├── project_job_token_scopes.py ├── project_label.py ├── project_level_mr_approvals.py ├── project_level_notifications.py ├── project_membership.py ├── project_milestone.py ├── project_mirror.py ├── project_protected_environment.py ├── project_push_rules.py ├── project_runner_enablement.py ├── project_security_policy_attachment.py ├── project_share_group.py ├── project_tag.py ├── project_target_branch_rule.py ├── project_variable.py ├── project_wiki_page.py ├── provider.py ├── pulumi-plugin.json ├── py.typed ├── release.py ├── release_link.py ├── repository_file.py ├── runner.py ├── service_custom_issue_tracker.py ├── service_emails_on_push.py ├── service_external_wiki.py ├── service_github.py ├── service_jira.py ├── service_microsoft_teams.py ├── service_pipelines_email.py ├── service_slack.py ├── system_hook.py ├── tag_protection.py ├── topic.py ├── user.py ├── user_custom_attribute.py ├── user_gpg_key.py ├── user_identity.py ├── user_impersonation_token.py ├── user_runner.py ├── user_ssh_key.py └── value_stream_analytics.py └── pyproject.toml /.ci-mgmt.yaml: -------------------------------------------------------------------------------- 1 | provider: gitlab 2 | major-version: 8 3 | upstreamProviderOrg: gitlabhq 4 | env: 5 | PULUMI_GITLAB_TOKEN: ${{ secrets.PULUMI_GITLAB_TOKEN }} 6 | makeTemplate: bridged 7 | team: ecosystem 8 | plugins: 9 | - name: std 10 | version: "1.6.2" 11 | - name: terraform 12 | version: "1.0.16" 13 | kind: converter 14 | - name: local 15 | version: "0.0.1" 16 | pulumiConvert: 1 17 | registryDocs: true 18 | integrationTestProvider: true 19 | -------------------------------------------------------------------------------- /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM jetpackio/devbox:latest 2 | 3 | # Installing your devbox project 4 | WORKDIR /code 5 | COPY devbox.json devbox.json 6 | COPY devbox.lock devbox.lock 7 | RUN sudo chown -R "${DEVBOX_USER}:${DEVBOX_USER}" /code 8 | 9 | 10 | RUN devbox run -- echo "Installed Packages." 11 | 12 | RUN devbox shellenv --init-hook >> ~/.profile 13 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Devbox Remote Container", 3 | "build": { 4 | "dockerfile": "./Dockerfile", 5 | "context": ".." 6 | }, 7 | "customizations": { 8 | "vscode": { 9 | "settings": {}, 10 | "extensions": [ 11 | "jetpack-io.devbox" 12 | ] 13 | } 14 | }, 15 | "remoteUser": "devbox" 16 | } -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | sdk/**/* linguist-generated=true 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/epic.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Epic 3 | about: Tracks a shippable unit of work 4 | title: '[Epic] {your-title-here}' 5 | labels: kind/epic 6 | projects: ['pulumi/32'] 7 | assignees: '' 8 | type: Epic 9 | --- 10 | 11 | ## Overview 12 | 13 | 14 | ## Key KPIs 15 | 16 | 17 | ## Key Stakeholders 18 | - Product and Engineering: 19 | - Documentation: 20 | - Marketing/Partnerships: 21 | - Customers: 22 | 23 | ## Key Deliverables 24 | 25 | 26 | ### References 📔 27 | 28 | 29 | - [ ] Project View 30 | - [ ] PR/FAQ 31 | - [ ] Design Doc 32 | - [ ] UX Designs 33 | - [ ] Decision Log 34 | 35 | 36 | -------------------------------------------------------------------------------- /.github/actions/download-prerequisites/action.yml: -------------------------------------------------------------------------------- 1 | name: Download the code generator binary 2 | description: Downloads the code generator binary to `bin/`. 3 | 4 | runs: 5 | using: "composite" 6 | steps: 7 | - name: Download the prerequisites bin 8 | uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 9 | with: 10 | name: prerequisites-bin 11 | path: bin 12 | 13 | - name: Restore executable permissions 14 | shell: bash 15 | run: chmod +x $(< bin/executables.txt) 16 | 17 | - name: Remove executables list 18 | shell: bash 19 | run: rm bin/executables.txt 20 | 21 | - name: Download schema-embed.json 22 | uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 23 | with: 24 | # Use a pattern to avoid failing if the artifact doesn't exist 25 | pattern: schema-embed.* 26 | # Avoid creating directories for each artifact 27 | merge-multiple: true 28 | path: provider/cmd/pulumi-resource-gitlab 29 | -------------------------------------------------------------------------------- /.github/actions/download-provider/action.yml: -------------------------------------------------------------------------------- 1 | name: Download the provider binary 2 | description: Downloads the provider binary to `bin/`. 3 | 4 | runs: 5 | using: "composite" 6 | steps: 7 | 8 | - name: Download pulumi-resource-gitlab 9 | uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 10 | with: 11 | pattern: pulumi-resource-gitlab-*-linux-amd64.tar.gz 12 | path: ${{ github.workspace }}/bin 13 | merge-multiple: true 14 | 15 | - name: Untar pulumi-resource-gitlab 16 | shell: bash 17 | run: | 18 | tar -zxf ${{ github.workspace }}/bin/*amd64.tar.gz -C ${{ github.workspace}}/bin 19 | 20 | - name: Mark pulumi-resource-gitlab as executable 21 | shell: bash 22 | run: | 23 | find ${{ github.workspace }} -name "pulumi-*-gitlab" -print -exec chmod +x {} \; 24 | -------------------------------------------------------------------------------- /.github/actions/download-sdk/action.yml: -------------------------------------------------------------------------------- 1 | name: Download SDK asset 2 | description: Restores the SDK asset for a language. 3 | 4 | inputs: 5 | language: 6 | required: true 7 | description: One of nodejs, python, dotnet, go, java 8 | 9 | runs: 10 | using: "composite" 11 | steps: 12 | - name: Download ${{ inputs.language }} SDK 13 | uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 14 | with: 15 | name: ${{ inputs.language }}-sdk.tar.gz 16 | path: ${{ github.workspace}}/sdk/ 17 | - name: Uncompress SDK folder 18 | shell: bash 19 | run: tar -zxf ${{ github.workspace }}/sdk/${{ inputs.language }}.tar.gz -C ${{ github.workspace }}/sdk/${{ inputs.language }} 20 | -------------------------------------------------------------------------------- /.github/actions/download-tfgen/action.yml: -------------------------------------------------------------------------------- 1 | name: Download the tfgen binary 2 | description: Downloads the tfgen binary to `bin/`. 3 | 4 | runs: 5 | using: "composite" 6 | steps: 7 | 8 | - name: Download pulumi-tfgen-gitlab 9 | uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 10 | with: 11 | name: pulumi-tfgen-gitlab 12 | path: ${{ github.workspace }}/bin 13 | 14 | - name: Ensure pulumi-tfgen-gitlab is executable 15 | shell: bash 16 | run: | 17 | find ${{ github.workspace }} -name "pulumi-*-gitlab" -print -exec chmod +x {} \; 18 | -------------------------------------------------------------------------------- /.github/actions/upload-bin/action.yml: -------------------------------------------------------------------------------- 1 | name: Upload bin assets 2 | description: Uploads the provider and tfgen binaries to `bin/`. 3 | 4 | runs: 5 | using: "composite" 6 | steps: 7 | - name: Tar provider binaries 8 | shell: bash 9 | run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace }}/bin/ pulumi-resource-gitlab pulumi-tfgen-gitlab 10 | - name: Upload artifacts 11 | uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 12 | with: 13 | name: gitlab-provider.tar.gz 14 | path: ${{ github.workspace }}/bin/provider.tar.gz 15 | retention-days: 30 16 | -------------------------------------------------------------------------------- /.github/actions/upload-prerequisites/action.yml: -------------------------------------------------------------------------------- 1 | name: Upload SDK asset 2 | description: Upload the SDK for a specific language as an asset for the workflow. 3 | 4 | runs: 5 | using: "composite" 6 | steps: 7 | - name: Capture executable permissions 8 | shell: bash 9 | run: find bin -type f -executable > bin/executables.txt 10 | 11 | - name: Upload prerequisites bin 12 | uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 13 | with: 14 | name: prerequisites-bin 15 | path: bin/* 16 | retention-days: 30 17 | 18 | - name: Upload schema-embed.json 19 | uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 20 | with: 21 | name: schema-embed.json 22 | path: provider/cmd/pulumi-resource-gitlab/schema-embed.json 23 | retention-days: 30 24 | -------------------------------------------------------------------------------- /.github/actions/upload-sdk/action.yml: -------------------------------------------------------------------------------- 1 | name: Upload SDK asset 2 | description: Upload the SDK for a specific language as an asset for the workflow. 3 | 4 | inputs: 5 | language: 6 | required: true 7 | description: One of nodejs, python, dotnet, go, java 8 | 9 | runs: 10 | using: "composite" 11 | steps: 12 | - name: Compress SDK folder 13 | shell: bash 14 | run: tar -zcf sdk/${{ inputs.language }}.tar.gz -C sdk/${{ inputs.language }} . 15 | - name: Upload artifacts 16 | uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 17 | with: 18 | name: ${{ inputs.language }}-sdk.tar.gz 19 | path: ${{ github.workspace}}/sdk/${{ inputs.language }}.tar.gz 20 | retention-days: 30 21 | -------------------------------------------------------------------------------- /.github/workflows/command-dispatch.yml: -------------------------------------------------------------------------------- 1 | # WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt 2 | 3 | env: 4 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 5 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 6 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 7 | NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} 8 | PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} 9 | PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} 10 | PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} 11 | PULUMI_API: https://api.pulumi-staging.io 12 | PULUMI_GITLAB_TOKEN: ${{ secrets.PULUMI_GITLAB_TOKEN }} 13 | PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. 14 | PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget 15 | PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} 16 | PYPI_USERNAME: __token__ 17 | SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} 18 | SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} 19 | SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} 20 | TF_APPEND_USER_AGENT: pulumi 21 | jobs: 22 | command-dispatch-for-testing: 23 | name: command-dispatch-for-testing 24 | runs-on: ubuntu-latest 25 | steps: 26 | - name: Checkout Repo 27 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 28 | with: 29 | persist-credentials: false 30 | - uses: peter-evans/slash-command-dispatch@13bc09769d122a64f75aa5037256f6f2d78be8c4 # v4 31 | with: 32 | commands: | 33 | run-acceptance-tests 34 | release 35 | issue-type: pull-request 36 | permission: write 37 | reaction-token: ${{ secrets.GITHUB_TOKEN }} 38 | repository: pulumi/pulumi-gitlab 39 | token: ${{ secrets.PULUMI_BOT_TOKEN }} 40 | name: command-dispatch 41 | on: 42 | issue_comment: 43 | types: 44 | - created 45 | - edited 46 | -------------------------------------------------------------------------------- /.github/workflows/community-moderation.yml: -------------------------------------------------------------------------------- 1 | # WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt 2 | 3 | env: 4 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 5 | jobs: 6 | warn_codegen: 7 | name: warn_codegen 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout Repo 11 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 12 | with: 13 | persist-credentials: false 14 | - id: schema_changed 15 | name: Check for diff in schema 16 | uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 17 | with: 18 | filters: "changed: 'provider/cmd/**/schema.json'" 19 | - id: sdk_changed 20 | if: steps.schema_changed.outputs.changed == 'false' 21 | name: Check for diff in sdk/** 22 | uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 23 | with: 24 | filters: "changed: 'sdk/**'" 25 | - if: steps.sdk_changed.outputs.changed == 'true' && 26 | github.event.pull_request.head.repo.full_name != github.repository 27 | name: Send codegen warning as comment on PR 28 | uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 29 | with: 30 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 31 | message: > 32 | Hello and thank you for your pull request! :heart: :sparkles: 33 | 34 | It looks like you're directly modifying files in the language SDKs, many of which are autogenerated. 35 | 36 | Be sure any files you're editing do not begin with a code generation warning. 37 | 38 | For generated files, you will need to make changes in `resources.go` instead, and [generate the code](https://github.com/pulumi/${{ github.event.repository.name }}/blob/master/CONTRIBUTING.md#committing-generated-code). 39 | name: warn-codegen 40 | on: 41 | pull_request_target: 42 | branches: 43 | - master 44 | types: 45 | - opened 46 | -------------------------------------------------------------------------------- /.github/workflows/pull-request.yml: -------------------------------------------------------------------------------- 1 | # WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt 2 | 3 | env: 4 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 5 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 6 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 7 | NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} 8 | PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} 9 | PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} 10 | PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} 11 | PULUMI_API: https://api.pulumi-staging.io 12 | PULUMI_GITLAB_TOKEN: ${{ secrets.PULUMI_GITLAB_TOKEN }} 13 | PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. 14 | PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget 15 | PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} 16 | PYPI_USERNAME: __token__ 17 | SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} 18 | SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} 19 | SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} 20 | TF_APPEND_USER_AGENT: pulumi 21 | jobs: 22 | comment-on-pr: 23 | if: github.event.pull_request.head.repo.full_name != github.repository 24 | name: comment-on-pr 25 | runs-on: ubuntu-latest 26 | steps: 27 | - name: Checkout Repo 28 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 29 | with: 30 | persist-credentials: false 31 | - name: Comment PR 32 | uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1 33 | with: 34 | github-token: ${{ secrets.GITHUB_TOKEN }} 35 | message: > 36 | PR is now waiting for a maintainer to run the acceptance tests. 37 | 38 | **Note for the maintainer:** To run the acceptance tests, please comment */run-acceptance-tests* on the PR 39 | name: pull-request 40 | on: 41 | pull_request_target: {} 42 | -------------------------------------------------------------------------------- /.github/workflows/release_command.yml: -------------------------------------------------------------------------------- 1 | # WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt 2 | 3 | name: release-command 4 | on: 5 | repository_dispatch: 6 | types: 7 | - release-command 8 | jobs: 9 | should_release: 10 | name: Should release PR 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout Repo 14 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 15 | with: 16 | persist-credentials: false 17 | - name: Should release PR 18 | uses: pulumi/action-release-by-pr-label@main 19 | with: 20 | command: "should-release" 21 | repo: ${{ github.repository }} 22 | pr: ${{ github.event.client_payload.pull_request.number }} 23 | version: ${{ github.event.client_payload.slash_command.args.all }} 24 | slack_channel: ${{ secrets.RELEASE_OPS_STAGING_SLACK_CHANNEL }} 25 | env: 26 | RELEASE_BOT_ENDPOINT: ${{ secrets.RELEASE_BOT_ENDPOINT }} 27 | RELEASE_BOT_KEY: ${{ secrets.RELEASE_BOT_KEY }} 28 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 29 | - if: failure() 30 | name: Notify failure 31 | uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 32 | with: 33 | token: ${{ secrets.GITHUB_TOKEN }} 34 | repository: ${{ github.event.client_payload.github.payload.repository.full_name }} 35 | issue-number: ${{ github.event.client_payload.github.payload.issue.number }} 36 | body: | 37 | "release command failed: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" 38 | - if: success() 39 | name: Notify success 40 | uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0 41 | with: 42 | token: ${{ secrets.GITHUB_TOKEN }} 43 | repository: ${{ github.event.client_payload.github.payload.repository.full_name }} 44 | comment-id: ${{ github.event.client_payload.github.payload.comment.id }} 45 | reaction-type: hooray 46 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **/vendor/ 2 | .pulumi 3 | **/bin/ 4 | **/obj/ 5 | Pulumi.*.yaml 6 | .DS_Store 7 | 8 | **/command-output/ 9 | 10 | .idea/ 11 | *.iml 12 | 13 | yarn.lock 14 | **/pulumiManifest.go 15 | 16 | **/node_modules 17 | 18 | ci-scripts 19 | **/schema.go 20 | **/schema-embed.json 21 | **/version.txt 22 | **/nuget 23 | **/dist 24 | 25 | sdk/java/build 26 | sdk/java/.gradle 27 | sdk/java/gradle 28 | sdk/java/gradlew 29 | sdk/java/gradlew.bat 30 | 31 | 32 | sdk/python/venv 33 | 34 | 35 | # Ignore local build tracking directory 36 | .make 37 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "upstream"] 2 | path = upstream 3 | url = https://gitlab.com/gitlab-org/terraform-provider-gitlab.git 4 | ignore = dirty 5 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- 1 | # WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt 2 | 3 | linters: 4 | enable: 5 | - errcheck 6 | - gci 7 | - goconst 8 | - gofmt 9 | - gosec 10 | - govet 11 | - ineffassign 12 | - lll 13 | - gosimple 14 | - staticcheck 15 | - misspell 16 | - nakedret 17 | - revive 18 | - unconvert 19 | - unused 20 | enable-all: false 21 | issues: 22 | exclude-dirs: 23 | - pkg/vendored 24 | exclude-files: 25 | - schema.go 26 | - pulumiManifest.go 27 | run: 28 | timeout: 20m 29 | linters-settings: 30 | gci: 31 | sections: 32 | - standard # Standard section: captures all standard library packages. 33 | - blank # Blank section: contains all blank imports. 34 | - default # Default section: contains all imports that could not be matched to another section type. 35 | - prefix(github.com/pulumi/) # Custom section: groups all imports with the github.com/pulumi/ prefix. 36 | - prefix(github.com/pulumi/pulumi-gitlab) # Custom section: local imports 37 | custom-order: true 38 | -------------------------------------------------------------------------------- /.pulumi-java-gen.version: -------------------------------------------------------------------------------- 1 | 1.12.0 -------------------------------------------------------------------------------- /.upgrade-config.yml: -------------------------------------------------------------------------------- 1 | # WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt 2 | 3 | --- 4 | upstream-provider-name: terraform-provider-gitlab 5 | upstream-provider-org: gitlabhq 6 | pulumi-infer-version: true 7 | remove-plugins: true 8 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to the Pulumi ecosystem 2 | 3 | Do you want to contribute to Pulumi? Awesome! We are so happy to have you. 4 | We have a few tips and housekeeping items to help you get up and running. 5 | 6 | ## Code of Conduct 7 | 8 | Please make sure to read and observe our [Code of Conduct](./CODE-OF-CONDUCT.md) 9 | 10 | ## Community Expectations 11 | 12 | Please read about our [contribution guidelines here.](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md#communications) 13 | 14 | ## Setting up your development environment 15 | 16 | ### Pulumi prerequisites 17 | 18 | Please refer to the [main Pulumi repo](https://github.com/pulumi/pulumi/)'s [CONTRIBUTING.md file]( 19 | https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md#developing) for details on how to get set up with Pulumi. 20 | 21 | ## Committing Generated Code 22 | 23 | You must generate and check in the SDKs on each pull request containing a code change, e.g. adding a new resource to `resources.go`. 24 | 25 | 1. Run `make build_sdks` from the root of this repository 26 | 1. Open a pull request containing all changes 27 | 1. *Note:* If a large number of seemingly-unrelated diffs are produced by `make build_sdks` (for example, lots of changes to comments unrelated to the change you are making), ensure that the latest dependencies for the provider are installed by running `go mod tidy` in the `provider/` directory of this repository. 28 | 29 | -------------------------------------------------------------------------------- /COPYRIGHT: -------------------------------------------------------------------------------- 1 | Except as otherwise noted below and/or in individual files, this 2 | project is licensed under the Apache License, Version 2.0 (see 3 | LICENSE or ). 4 | 5 | This project is a larger work that combines with software written 6 | by third parties, licensed under their own terms. 7 | 8 | Notably, this larger work combines with the Terraform GitLab Provider, 9 | which is licensed under the Mozilla Public License 2.0 (see 10 | or the project itself at 11 | ). 12 | -------------------------------------------------------------------------------- /devbox.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | "yarn@latest", 4 | "pulumictl@latest", 5 | "go@1.21.", 6 | "nodejs@20.", 7 | "python3@3.11.8", 8 | "dotnet-sdk@8.0.", 9 | "gradle_7@7.6", 10 | "curl@8" 11 | ], 12 | "shell": { 13 | "init_hook": [ 14 | "export PATH=\"$(pwd)/bin/:$PATH\"" 15 | ], 16 | "scripts": { 17 | "test": [ 18 | "echo \"Error: no test specified\" && exit 1" 19 | ] 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /devbox.lock: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /examples/.gitignore: -------------------------------------------------------------------------------- 1 | .pulumi/ 2 | **/bin/ 3 | node_modules/ -------------------------------------------------------------------------------- /examples/examples_dotnet_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2017, Pulumi Corporation. All rights reserved. 2 | //go:build dotnet || all 3 | // +build dotnet all 4 | 5 | package examples 6 | 7 | import ( 8 | "testing" 9 | 10 | "github.com/pulumi/pulumi/pkg/v3/testing/integration" 11 | ) 12 | 13 | func getCsharpBaseOptions(t *testing.T) integration.ProgramTestOptions { 14 | base := getBaseOptions(t) 15 | baseCsharp := base.With(integration.ProgramTestOptions{ 16 | Dependencies: []string{ 17 | "Pulumi.SpotInst", 18 | }, 19 | }) 20 | 21 | return baseCsharp 22 | } 23 | -------------------------------------------------------------------------------- /examples/examples_nodejs_test.go: -------------------------------------------------------------------------------- 1 | // Licensed under the Apache License, Version 2.0 (the "License"); 2 | // you may not use this file except in compliance with the License. 3 | // You may obtain a copy of the License at 4 | // 5 | // http://www.apache.org/licenses/LICENSE-2.0 6 | // 7 | // Unless required by applicable law or agreed to in writing, software 8 | // distributed under the License is distributed on an "AS IS" BASIS, 9 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | // See the License for the specific language governing permissions and 11 | // limitations under the License. 12 | //go:build nodejs || all 13 | // +build nodejs all 14 | 15 | package examples 16 | 17 | import ( 18 | "path" 19 | "testing" 20 | 21 | "github.com/pulumi/pulumi/pkg/v3/testing/integration" 22 | ) 23 | 24 | func TestAccProject(t *testing.T) { 25 | test := getJSBaseOptions(t). 26 | With(integration.ProgramTestOptions{ 27 | Dir: path.Join(getCwd(t), "project"), 28 | // TODO[https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/6408]: 29 | // 30 | // There is an upstream bug that prevents a clean refresh. This 31 | // should be removed when we upgrade to a version that has 32 | // addressed #6408. 33 | AllowEmptyPreviewChanges: true, 34 | AllowEmptyUpdateChanges: true, 35 | }) 36 | 37 | integration.ProgramTest(t, &test) 38 | } 39 | 40 | func getJSBaseOptions(t *testing.T) integration.ProgramTestOptions { 41 | base := getBaseOptions(t) 42 | baseJS := base.With(integration.ProgramTestOptions{ 43 | Dependencies: []string{ 44 | "@pulumi/gitlab", 45 | }, 46 | }) 47 | 48 | return baseJS 49 | } 50 | -------------------------------------------------------------------------------- /examples/examples_py_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2017, Pulumi Corporation. All rights reserved. 2 | //go:build nodejs || all 3 | // +build nodejs all 4 | 5 | package examples 6 | 7 | import ( 8 | "path/filepath" 9 | "testing" 10 | 11 | "github.com/pulumi/pulumi/pkg/v3/testing/integration" 12 | ) 13 | 14 | func getPythonBaseOptions(t *testing.T) integration.ProgramTestOptions { 15 | base := getBaseOptions(t) 16 | basePython := base.With(integration.ProgramTestOptions{ 17 | Dependencies: []string{ 18 | filepath.Join("..", "sdk", "python", "bin"), 19 | }, 20 | }) 21 | 22 | return basePython 23 | } 24 | -------------------------------------------------------------------------------- /examples/examples_test.go: -------------------------------------------------------------------------------- 1 | // Licensed under the Apache License, Version 2.0 (the "License"); 2 | // you may not use this file except in compliance with the License. 3 | // You may obtain a copy of the License at 4 | // 5 | // http://www.apache.org/licenses/LICENSE-2.0 6 | // 7 | // Unless required by applicable law or agreed to in writing, software 8 | // distributed under the License is distributed on an "AS IS" BASIS, 9 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | // See the License for the specific language governing permissions and 11 | // limitations under the License. 12 | 13 | package examples 14 | 15 | import ( 16 | "fmt" 17 | "os" 18 | "testing" 19 | 20 | "github.com/pulumi/pulumi/pkg/v3/testing/integration" 21 | ) 22 | 23 | func getCwd(t *testing.T) string { 24 | cwd, err := os.Getwd() 25 | if err != nil { 26 | t.FailNow() 27 | } 28 | 29 | return cwd 30 | } 31 | 32 | func getBaseOptions(t *testing.T) integration.ProgramTestOptions { 33 | token := os.Getenv("PULUMI_GITLAB_TOKEN") 34 | if token == "" { 35 | t.Skipf("Skipping test due to missing PULUMI_GITLAB_TOKEN environment variable") 36 | } 37 | return integration.ProgramTestOptions{ 38 | ExpectRefreshChanges: true, 39 | Env: []string{fmt.Sprintf("GITLAB_TOKEN=%s", token)}, 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /examples/project/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /examples/project/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: label-gitlab 2 | description: A simple label operation on GitLab. 3 | runtime: nodejs 4 | -------------------------------------------------------------------------------- /examples/project/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import * as pulumi from "@pulumi/pulumi"; 16 | import * as gitlab from "@pulumi/gitlab"; 17 | 18 | const project = new gitlab.Project("example-project", { 19 | description: "example project created by Pulumi", 20 | visibilityLevel: "public", 21 | }) 22 | 23 | export const projectName = project.name 24 | -------------------------------------------------------------------------------- /examples/project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "minimal", 3 | "version": "0.1.0", 4 | "license": "Apache-2.0", 5 | "main": "bin/index.js", 6 | "typings": "bin/index.d.ts", 7 | "scripts": { 8 | "build": "tsc" 9 | }, 10 | "dependencies": { 11 | "@pulumi/pulumi": "^3.0.0" 12 | }, 13 | "devDependencies": { 14 | "typescript": "^3.0.3" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/project/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "bin", 4 | "target": "es6", 5 | "module": "commonjs", 6 | "moduleResolution": "node", 7 | "sourceMap": true, 8 | "stripInternal": true, 9 | "experimentalDecorators": true, 10 | "pretty": true, 11 | "noFallthroughCasesInSwitch": true, 12 | "noImplicitAny": true, 13 | "noImplicitReturns": true, 14 | "forceConsistentCasingInFileNames": true, 15 | "strictNullChecks": true 16 | }, 17 | "files": [ 18 | "index.ts" 19 | ] 20 | } -------------------------------------------------------------------------------- /patches/0002-expose-provider.patch: -------------------------------------------------------------------------------- 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 | From: Ian Wahbe 3 | Date: Mon, 15 May 2023 14:33:58 -0700 4 | Subject: [PATCH] expose-provider 5 | 6 | 7 | diff --git a/shim/shim.go b/shim/shim.go 8 | new file mode 100644 9 | index 00000000..79644333 10 | --- /dev/null 11 | +++ b/shim/shim.go 12 | @@ -0,0 +1,17 @@ 13 | +package shim 14 | + 15 | +import ( 16 | + pf "github.com/hashicorp/terraform-plugin-framework/provider" 17 | + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" 18 | + 19 | + "gitlab.com/gitlab-org/terraform-provider-gitlab/internal/provider" 20 | + sdkProvider "gitlab.com/gitlab-org/terraform-provider-gitlab/internal/provider/sdk" 21 | +) 22 | + 23 | +func PFProvider() pf.Provider { 24 | + return provider.New("")() 25 | +} 26 | + 27 | +func SDKProvider() *schema.Provider { 28 | + return sdkProvider.New("")() 29 | +} 30 | -------------------------------------------------------------------------------- /provider/cmd/pulumi-resource-gitlab/.gitignore: -------------------------------------------------------------------------------- 1 | schema.go 2 | -------------------------------------------------------------------------------- /provider/cmd/pulumi-resource-gitlab/Pulumi.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulumi/pulumi-gitlab/b6877da19cd6eaafa7a04c9387aea9768a1382b1/provider/cmd/pulumi-resource-gitlab/Pulumi.yaml -------------------------------------------------------------------------------- /provider/cmd/pulumi-resource-gitlab/generate.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2020, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | //go:build ignore 16 | 17 | package main 18 | 19 | import ( 20 | "encoding/json" 21 | "errors" 22 | "io/fs" 23 | "io/ioutil" 24 | "log" 25 | "os" 26 | 27 | "github.com/pulumi/pulumi/pkg/v3/codegen/schema" 28 | ) 29 | 30 | func main() { 31 | version, found := os.LookupEnv("VERSION") 32 | if !found { 33 | log.Fatal("version not found") 34 | } 35 | 36 | schemaContents, err := ioutil.ReadFile("./schema.json") 37 | if err != nil { 38 | log.Fatal(err) 39 | } 40 | 41 | var packageSpec schema.PackageSpec 42 | err = json.Unmarshal(schemaContents, &packageSpec) 43 | if err != nil { 44 | log.Fatalf("cannot deserialize schema: %v", err) 45 | } 46 | 47 | packageSpec.Version = version 48 | versionedContents, err := json.Marshal(packageSpec) 49 | if err != nil { 50 | log.Fatalf("cannot reserialize schema: %v", err) 51 | } 52 | 53 | // Clean up schema.go as it may be present & gitignored and tolerate an error if the file isn't present. 54 | err = os.Remove("./schema.go") 55 | if err != nil && !errors.Is(err, fs.ErrNotExist) { 56 | log.Fatal(err) 57 | } 58 | 59 | err = ioutil.WriteFile("./schema-embed.json", versionedContents, 0600) 60 | if err != nil { 61 | log.Fatal(err) 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /provider/cmd/pulumi-resource-gitlab/main.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation.( 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | //go:generate go run ./generate.go 16 | 17 | package main 18 | 19 | import ( 20 | "context" 21 | 22 | _ "embed" 23 | 24 | "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/pf/tfbridge" 25 | 26 | gitlab "github.com/pulumi/pulumi-gitlab/provider/v8" 27 | ) 28 | 29 | //go:embed schema-embed.json 30 | var pulumiSchema []byte 31 | 32 | func main() { 33 | tfbridge.MainWithMuxer(context.Background(), "gitlab", gitlab.Provider(), pulumiSchema) 34 | } 35 | -------------------------------------------------------------------------------- /provider/cmd/pulumi-tfgen-gitlab/main.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation.( 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package main 16 | 17 | import ( 18 | "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/pf/tfgen" 19 | 20 | gitlab "github.com/pulumi/pulumi-gitlab/provider/v8" 21 | ) 22 | 23 | func main() { 24 | tfgen.MainWithMuxer("gitlab", gitlab.Provider()) 25 | } 26 | -------------------------------------------------------------------------------- /provider/pkg/version/version.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation.( 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package version 16 | 17 | // Version is initialized by the Go linker to contain the semver of this build. 18 | var Version string 19 | -------------------------------------------------------------------------------- /provider/test-programs/index_branchprotection/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /Pulumi.*.yaml 3 | -------------------------------------------------------------------------------- /provider/test-programs/index_branchprotection/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: index_branchprotectionKjOgSLtuZLqr 2 | runtime: yaml 3 | description: "" 4 | config: 5 | pulumi:tags: 6 | value: 7 | pulumi:template: https://www.pulumi.com/ai/api/project/69c81d5a-7c25-4213-b657-6cd4eb028c7d.zip 8 | resources: 9 | gitlab_branch_protection: 10 | properties: 11 | branch: main 12 | mergeAccessLevel: maintainer 13 | project: ${gitlab_project.id} 14 | pushAccessLevel: maintainer 15 | unprotectAccessLevel: maintainer 16 | type: gitlab:BranchProtection 17 | gitlab_project: 18 | properties: 19 | 20 | visibilityLevel: public 21 | type: gitlab:Project 22 | -------------------------------------------------------------------------------- /provider/test-programs/index_project/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /Pulumi.*.yaml 3 | -------------------------------------------------------------------------------- /provider/test-programs/index_project/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: index_projectpADAhwf4sgsF 2 | runtime: yaml 3 | description: "" 4 | config: 5 | pulumi:tags: 6 | value: 7 | pulumi:template: https://www.pulumi.com/ai/api/project/2b7ce7ef-08af-41a6-867a-964f278109d4.zip 8 | resources: 9 | my_gitlab_project: 10 | properties: 11 | description: A minimal GitLab project for Pulumi 12 | visibilityLevel: public 13 | type: gitlab:Project 14 | -------------------------------------------------------------------------------- /provider/test-programs/index_projectapprovalrule/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /Pulumi.*.yaml 3 | -------------------------------------------------------------------------------- /provider/test-programs/index_projectapprovalrule/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: index_projectapprovalruleBSWT1fNGZXGy 2 | runtime: yaml 3 | description: "" 4 | config: 5 | pulumi:tags: 6 | value: 7 | pulumi:template: https://www.pulumi.com/ai/api/project/277bb4d1-f796-4f81-9361-dd84fb4170e9.zip 8 | resources: 9 | my-gitlab-project: 10 | properties: 11 | description: A project with an approval rule 12 | 13 | visibilityLevel: private 14 | type: gitlab:Project 15 | my-gitlab-project-approval-rule: 16 | properties: 17 | approvalsRequired: 1 18 | 19 | project: ${my-gitlab-project.id} 20 | ruleType: regular 21 | type: gitlab:ProjectApprovalRule 22 | -------------------------------------------------------------------------------- /provider/test-programs/index_projecthook/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /Pulumi.*.yaml 3 | -------------------------------------------------------------------------------- /provider/test-programs/index_projecthook/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: index_projecthookaMXmFQCHn5dj 2 | runtime: yaml 3 | description: "" 4 | config: 5 | pulumi:tags: 6 | value: 7 | pulumi:template: https://www.pulumi.com/ai/api/project/1484e569-441c-4dc7-833d-61e41d6fca9e.zip 8 | resources: 9 | my_gitlab_project: 10 | properties: 11 | description: This is a project to demonstrate creation of a webhook 12 | 13 | visibilityLevel: private 14 | type: gitlab:Project 15 | my_gitlab_projecthook: 16 | properties: 17 | name: webhook-receiver 18 | confidentialIssuesEvents: true 19 | issuesEvents: true 20 | jobEvents: true 21 | mergeRequestsEvents: true 22 | noteEvents: true 23 | pipelineEvents: true 24 | project: ${my_gitlab_project} 25 | pushEvents: true 26 | tagPushEvents: true 27 | url: https://webhook.receiver.endpoint/hooks/gitlab 28 | wikiPageEvents: true 29 | type: gitlab:ProjectHook 30 | -------------------------------------------------------------------------------- /provider/test-programs/index_projectlevelmrapprovals/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /Pulumi.*.yaml 3 | -------------------------------------------------------------------------------- /provider/test-programs/index_projectlevelmrapprovals/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: index_projectlevelmrapprovalsa22aC7TN0jbd 2 | runtime: yaml 3 | description: "" 4 | config: 5 | pulumi:tags: 6 | value: 7 | pulumi:template: https://www.pulumi.com/ai/api/project/f54aaf07-f0b1-489b-8cca-cbd004ac3b5f.zip 8 | resources: 9 | mygitlab_project: 10 | properties: 11 | 12 | visibilityLevel: private 13 | type: gitlab:Project 14 | mygitlab_project_level_mr_approvals: 15 | properties: 16 | disableOverridingApproversPerMergeRequest: true 17 | mergeRequestsAuthorApproval: false 18 | mergeRequestsDisableCommittersApproval: true 19 | project: ${mygitlab_project.id} 20 | requirePasswordToApprove: true 21 | resetApprovalsOnPush: true 22 | selectiveCodeOwnerRemovals: false 23 | type: gitlab:ProjectLevelMrApprovals 24 | -------------------------------------------------------------------------------- /provider/test-programs/index_projectvariable/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /Pulumi.*.yaml 3 | -------------------------------------------------------------------------------- /provider/test-programs/index_projectvariable/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: index_projectvariableLz6DQpBxFEv3 2 | runtime: yaml 3 | description: A minimal Pulumi YAML program that creates a GitLab project and a project variable. 4 | config: 5 | pulumi:tags: 6 | value: 7 | pulumi:template: https://www.pulumi.com/ai/api/project/115d3310-aa18-4d5c-9ad3-cbb7fdbbb367.zip 8 | outputs: 9 | project_id: ${my_project.id} 10 | project_variable_key: ${my_project_variable.key} 11 | resources: 12 | my_project: 13 | properties: 14 | description: A new GitLab project created with Pulumi 15 | 16 | visibilityLevel: private 17 | type: gitlab:Project 18 | my_project_variable: 19 | properties: 20 | key: MY_VARIABLE 21 | masked: false 22 | project: ${my_project.id} 23 | protected: false 24 | value: my-value 25 | type: gitlab:ProjectVariable 26 | -------------------------------------------------------------------------------- /provider/test-programs/index_repositoryfile/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /Pulumi.*.yaml 3 | -------------------------------------------------------------------------------- /provider/test-programs/index_repositoryfile/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: index_repositoryfileKbdKjjwqulD0 2 | runtime: yaml 3 | description: A minimal valid program to create a GitLab repository file 4 | config: 5 | pulumi:tags: 6 | value: 7 | pulumi:template: https://www.pulumi.com/ai/api/project/de02d37f-b8a0-4fa5-a7a9-e0e6d5892739.zip 8 | resources: 9 | my-gitlab-project: 10 | properties: 11 | 12 | visibilityLevel: public 13 | type: gitlab:Project 14 | my-gitlab-repo-file: 15 | properties: 16 | branch: main 17 | commitMessage: Add README 18 | content: Hello, world! 19 | filePath: README.md 20 | project: ${my-gitlab-project} 21 | type: gitlab:RepositoryFile 22 | -------------------------------------------------------------------------------- /scripts/plugins.mk: -------------------------------------------------------------------------------- 1 | # Install Pulumi and plugins required at build time. 2 | install_plugins: .make/install_plugins 3 | .make/install_plugins: export PULUMI_HOME := $(WORKING_DIR)/.pulumi 4 | .make/install_plugins: export PATH := $(WORKING_DIR)/.pulumi/bin:$(PATH) 5 | .make/install_plugins: .pulumi/bin/pulumi 6 | .pulumi/bin/pulumi plugin install resource std 1.6.2 7 | .pulumi/bin/pulumi plugin install converter terraform 1.0.16 8 | .pulumi/bin/pulumi plugin install resource local 0.0.1 9 | @touch $@ 10 | .PHONY: install_plugins 11 | 12 | # Because some codegen depends on the version of the CLI used, we install a local CLI 13 | # version pinned to the same version as the provider `go.mod`. 14 | # 15 | # This logic compares the version of .pulumi/bin/pulumi already installed. If it matches 16 | # the desired version, we just print. Otherwise we (re)install pulumi at the desired 17 | # version. 18 | .pulumi/bin/pulumi: .pulumi/version 19 | @if [ -x .pulumi/bin/pulumi ] && [ "v$$(cat .pulumi/version)" = "$$(.pulumi/bin/pulumi version)" ]; then \ 20 | echo "pulumi/bin/pulumi version: v$$(cat .pulumi/version)"; \ 21 | touch $@; \ 22 | else \ 23 | curl -fsSL https://get.pulumi.com | \ 24 | HOME=$(WORKING_DIR) sh -s -- --version "$$(cat .pulumi/version)"; \ 25 | fi 26 | 27 | # Compute the version of Pulumi to use by inspecting the Go dependencies of the provider. 28 | .pulumi/version: provider/go.mod 29 | (cd provider && go list -f "{{slice .Version 1}}" -m github.com/pulumi/pulumi/pkg/v3) | tee $@ 30 | -------------------------------------------------------------------------------- /sdk/.gitignore: -------------------------------------------------------------------------------- 1 | /nodejs/bin/ 2 | /nodejs/node_modules/ 3 | /python/bin/ 4 | -------------------------------------------------------------------------------- /sdk/dotnet/Config/README.md: -------------------------------------------------------------------------------- 1 | A Pulumi package for creating and managing GitLab resources. 2 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/BranchProtectionAllowedToMergeArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class BranchProtectionAllowedToMergeArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 17 | /// 18 | [Input("accessLevel")] 19 | public Input? AccessLevel { get; set; } 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription")] 25 | public Input? AccessLevelDescription { get; set; } 26 | 27 | /// 28 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 29 | /// 30 | [Input("groupId")] 31 | public Input? GroupId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 35 | /// 36 | [Input("userId")] 37 | public Input? UserId { get; set; } 38 | 39 | public BranchProtectionAllowedToMergeArgs() 40 | { 41 | } 42 | public static new BranchProtectionAllowedToMergeArgs Empty => new BranchProtectionAllowedToMergeArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/BranchProtectionAllowedToMergeGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class BranchProtectionAllowedToMergeGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 17 | /// 18 | [Input("accessLevel")] 19 | public Input? AccessLevel { get; set; } 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription")] 25 | public Input? AccessLevelDescription { get; set; } 26 | 27 | /// 28 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 29 | /// 30 | [Input("groupId")] 31 | public Input? GroupId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 35 | /// 36 | [Input("userId")] 37 | public Input? UserId { get; set; } 38 | 39 | public BranchProtectionAllowedToMergeGetArgs() 40 | { 41 | } 42 | public static new BranchProtectionAllowedToMergeGetArgs Empty => new BranchProtectionAllowedToMergeGetArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/BranchProtectionAllowedToPushArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class BranchProtectionAllowedToPushArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 17 | /// 18 | [Input("accessLevel")] 19 | public Input? AccessLevel { get; set; } 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription")] 25 | public Input? AccessLevelDescription { get; set; } 26 | 27 | /// 28 | /// The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `group_id` and `user_id`. This field is read-only until Gitlab 17.5. 29 | /// 30 | [Input("deployKeyId")] 31 | public Input? DeployKeyId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deploy_key_id` and `user_id`. 35 | /// 36 | [Input("groupId")] 37 | public Input? GroupId { get; set; } 38 | 39 | /// 40 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deploy_key_id` and `group_id`. 41 | /// 42 | [Input("userId")] 43 | public Input? UserId { get; set; } 44 | 45 | public BranchProtectionAllowedToPushArgs() 46 | { 47 | } 48 | public static new BranchProtectionAllowedToPushArgs Empty => new BranchProtectionAllowedToPushArgs(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/BranchProtectionAllowedToPushGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class BranchProtectionAllowedToPushGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 17 | /// 18 | [Input("accessLevel")] 19 | public Input? AccessLevel { get; set; } 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription")] 25 | public Input? AccessLevelDescription { get; set; } 26 | 27 | /// 28 | /// The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `group_id` and `user_id`. This field is read-only until Gitlab 17.5. 29 | /// 30 | [Input("deployKeyId")] 31 | public Input? DeployKeyId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deploy_key_id` and `user_id`. 35 | /// 36 | [Input("groupId")] 37 | public Input? GroupId { get; set; } 38 | 39 | /// 40 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deploy_key_id` and `group_id`. 41 | /// 42 | [Input("userId")] 43 | public Input? UserId { get; set; } 44 | 45 | public BranchProtectionAllowedToPushGetArgs() 46 | { 47 | } 48 | public static new BranchProtectionAllowedToPushGetArgs Empty => new BranchProtectionAllowedToPushGetArgs(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/BranchProtectionAllowedToUnprotectArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class BranchProtectionAllowedToUnprotectArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Access levels allowed to unprotect push to protected branch. Valid values are: `developer`, `maintainer`, `admin`. 17 | /// 18 | [Input("accessLevel")] 19 | public Input? AccessLevel { get; set; } 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription")] 25 | public Input? AccessLevelDescription { get; set; } 26 | 27 | /// 28 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 29 | /// 30 | [Input("groupId")] 31 | public Input? GroupId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 35 | /// 36 | [Input("userId")] 37 | public Input? UserId { get; set; } 38 | 39 | public BranchProtectionAllowedToUnprotectArgs() 40 | { 41 | } 42 | public static new BranchProtectionAllowedToUnprotectArgs Empty => new BranchProtectionAllowedToUnprotectArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/BranchProtectionAllowedToUnprotectGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class BranchProtectionAllowedToUnprotectGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Access levels allowed to unprotect push to protected branch. Valid values are: `developer`, `maintainer`, `admin`. 17 | /// 18 | [Input("accessLevel")] 19 | public Input? AccessLevel { get; set; } 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription")] 25 | public Input? AccessLevelDescription { get; set; } 26 | 27 | /// 28 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 29 | /// 30 | [Input("groupId")] 31 | public Input? GroupId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 35 | /// 36 | [Input("userId")] 37 | public Input? UserId { get; set; } 38 | 39 | public BranchProtectionAllowedToUnprotectGetArgs() 40 | { 41 | } 42 | public static new BranchProtectionAllowedToUnprotectGetArgs Empty => new BranchProtectionAllowedToUnprotectGetArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GetProjectProtectedBranchMergeAccessLevel.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GetProjectProtectedBranchMergeAccessLevelArgs : global::Pulumi.InvokeArgs 14 | { 15 | /// 16 | /// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 17 | /// 18 | [Input("accessLevel", required: true)] 19 | public string AccessLevel { get; set; } = null!; 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription", required: true)] 25 | public string AccessLevelDescription { get; set; } = null!; 26 | 27 | /// 28 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 29 | /// 30 | [Input("groupId")] 31 | public int? GroupId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 35 | /// 36 | [Input("userId")] 37 | public int? UserId { get; set; } 38 | 39 | public GetProjectProtectedBranchMergeAccessLevelArgs() 40 | { 41 | } 42 | public static new GetProjectProtectedBranchMergeAccessLevelArgs Empty => new GetProjectProtectedBranchMergeAccessLevelArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GetProjectProtectedBranchMergeAccessLevelArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GetProjectProtectedBranchMergeAccessLevelInputArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 17 | /// 18 | [Input("accessLevel", required: true)] 19 | public Input AccessLevel { get; set; } = null!; 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription", required: true)] 25 | public Input AccessLevelDescription { get; set; } = null!; 26 | 27 | /// 28 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 29 | /// 30 | [Input("groupId")] 31 | public Input? GroupId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 35 | /// 36 | [Input("userId")] 37 | public Input? UserId { get; set; } 38 | 39 | public GetProjectProtectedBranchMergeAccessLevelInputArgs() 40 | { 41 | } 42 | public static new GetProjectProtectedBranchMergeAccessLevelInputArgs Empty => new GetProjectProtectedBranchMergeAccessLevelInputArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GetProjectProtectedBranchPushAccessLevel.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GetProjectProtectedBranchPushAccessLevelArgs : global::Pulumi.InvokeArgs 14 | { 15 | /// 16 | /// Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 17 | /// 18 | [Input("accessLevel", required: true)] 19 | public string AccessLevel { get; set; } = null!; 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription", required: true)] 25 | public string AccessLevelDescription { get; set; } = null!; 26 | 27 | /// 28 | /// The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `group_id` and `user_id`. This field is read-only until Gitlab 17.5. 29 | /// 30 | [Input("deployKeyId")] 31 | public int? DeployKeyId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deploy_key_id` and `user_id`. 35 | /// 36 | [Input("groupId")] 37 | public int? GroupId { get; set; } 38 | 39 | /// 40 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deploy_key_id` and `group_id`. 41 | /// 42 | [Input("userId")] 43 | public int? UserId { get; set; } 44 | 45 | public GetProjectProtectedBranchPushAccessLevelArgs() 46 | { 47 | } 48 | public static new GetProjectProtectedBranchPushAccessLevelArgs Empty => new GetProjectProtectedBranchPushAccessLevelArgs(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GetProjectProtectedBranchesProtectedBranchMergeAccessLevel.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs : global::Pulumi.InvokeArgs 14 | { 15 | /// 16 | /// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 17 | /// 18 | [Input("accessLevel", required: true)] 19 | public string AccessLevel { get; set; } = null!; 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription", required: true)] 25 | public string AccessLevelDescription { get; set; } = null!; 26 | 27 | /// 28 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 29 | /// 30 | [Input("groupId")] 31 | public int? GroupId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 35 | /// 36 | [Input("userId")] 37 | public int? UserId { get; set; } 38 | 39 | public GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs() 40 | { 41 | } 42 | public static new GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs Empty => new GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GetProjectProtectedBranchesProtectedBranchMergeAccessLevelArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInputArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 17 | /// 18 | [Input("accessLevel", required: true)] 19 | public Input AccessLevel { get; set; } = null!; 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription", required: true)] 25 | public Input AccessLevelDescription { get; set; } = null!; 26 | 27 | /// 28 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 29 | /// 30 | [Input("groupId")] 31 | public Input? GroupId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 35 | /// 36 | [Input("userId")] 37 | public Input? UserId { get; set; } 38 | 39 | public GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInputArgs() 40 | { 41 | } 42 | public static new GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInputArgs Empty => new GetProjectProtectedBranchesProtectedBranchMergeAccessLevelInputArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GetReleaseAssets.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GetReleaseAssetsArgs : global::Pulumi.InvokeArgs 14 | { 15 | /// 16 | /// The number of assets for a release 17 | /// 18 | [Input("count", required: true)] 19 | public int Count { get; set; } 20 | 21 | [Input("links")] 22 | private List? _links; 23 | 24 | /// 25 | /// The links for a release 26 | /// 27 | public List Links 28 | { 29 | get => _links ?? (_links = new List()); 30 | set => _links = value; 31 | } 32 | 33 | [Input("sources")] 34 | private List? _sources; 35 | 36 | /// 37 | /// The sources for a release 38 | /// 39 | public List Sources 40 | { 41 | get => _sources ?? (_sources = new List()); 42 | set => _sources = value; 43 | } 44 | 45 | public GetReleaseAssetsArgs() 46 | { 47 | } 48 | public static new GetReleaseAssetsArgs Empty => new GetReleaseAssetsArgs(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GetReleaseAssetsArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GetReleaseAssetsInputArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The number of assets for a release 17 | /// 18 | [Input("count", required: true)] 19 | public Input Count { get; set; } = null!; 20 | 21 | [Input("links")] 22 | private InputList? _links; 23 | 24 | /// 25 | /// The links for a release 26 | /// 27 | public InputList Links 28 | { 29 | get => _links ?? (_links = new InputList()); 30 | set => _links = value; 31 | } 32 | 33 | [Input("sources")] 34 | private InputList? _sources; 35 | 36 | /// 37 | /// The sources for a release 38 | /// 39 | public InputList Sources 40 | { 41 | get => _sources ?? (_sources = new InputList()); 42 | set => _sources = value; 43 | } 44 | 45 | public GetReleaseAssetsInputArgs() 46 | { 47 | } 48 | public static new GetReleaseAssetsInputArgs Empty => new GetReleaseAssetsInputArgs(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GetReleaseAssetsLink.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GetReleaseAssetsLinkArgs : global::Pulumi.InvokeArgs 14 | { 15 | /// 16 | /// The ID of the link 17 | /// 18 | [Input("id", required: true)] 19 | public int Id { get; set; } 20 | 21 | /// 22 | /// The type of the link 23 | /// 24 | [Input("linkType", required: true)] 25 | public string LinkType { get; set; } = null!; 26 | 27 | /// 28 | /// The name of the link 29 | /// 30 | [Input("name", required: true)] 31 | public string Name { get; set; } = null!; 32 | 33 | /// 34 | /// The URL of the link 35 | /// 36 | [Input("url", required: true)] 37 | public string Url { get; set; } = null!; 38 | 39 | public GetReleaseAssetsLinkArgs() 40 | { 41 | } 42 | public static new GetReleaseAssetsLinkArgs Empty => new GetReleaseAssetsLinkArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GetReleaseAssetsLinkArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GetReleaseAssetsLinkInputArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The ID of the link 17 | /// 18 | [Input("id", required: true)] 19 | public Input Id { get; set; } = null!; 20 | 21 | /// 22 | /// The type of the link 23 | /// 24 | [Input("linkType", required: true)] 25 | public Input LinkType { get; set; } = null!; 26 | 27 | /// 28 | /// The name of the link 29 | /// 30 | [Input("name", required: true)] 31 | public Input Name { get; set; } = null!; 32 | 33 | /// 34 | /// The URL of the link 35 | /// 36 | [Input("url", required: true)] 37 | public Input Url { get; set; } = null!; 38 | 39 | public GetReleaseAssetsLinkInputArgs() 40 | { 41 | } 42 | public static new GetReleaseAssetsLinkInputArgs Empty => new GetReleaseAssetsLinkInputArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GetReleaseAssetsSource.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GetReleaseAssetsSourceArgs : global::Pulumi.InvokeArgs 14 | { 15 | /// 16 | /// The format of the source 17 | /// 18 | [Input("format", required: true)] 19 | public string Format { get; set; } = null!; 20 | 21 | /// 22 | /// The URL of the source 23 | /// 24 | [Input("url", required: true)] 25 | public string Url { get; set; } = null!; 26 | 27 | public GetReleaseAssetsSourceArgs() 28 | { 29 | } 30 | public static new GetReleaseAssetsSourceArgs Empty => new GetReleaseAssetsSourceArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GetReleaseAssetsSourceArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GetReleaseAssetsSourceInputArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The format of the source 17 | /// 18 | [Input("format", required: true)] 19 | public Input Format { get; set; } = null!; 20 | 21 | /// 22 | /// The URL of the source 23 | /// 24 | [Input("url", required: true)] 25 | public Input Url { get; set; } = null!; 26 | 27 | public GetReleaseAssetsSourceInputArgs() 28 | { 29 | } 30 | public static new GetReleaseAssetsSourceInputArgs Empty => new GetReleaseAssetsSourceInputArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GroupAccessTokenRotationConfigurationArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GroupAccessTokenRotationConfigurationArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The duration (in days) the new token should be valid for. 17 | /// 18 | [Input("expirationDays", required: true)] 19 | public Input ExpirationDays { get; set; } = null!; 20 | 21 | /// 22 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 23 | /// 24 | [Input("rotateBeforeDays", required: true)] 25 | public Input RotateBeforeDays { get; set; } = null!; 26 | 27 | public GroupAccessTokenRotationConfigurationArgs() 28 | { 29 | } 30 | public static new GroupAccessTokenRotationConfigurationArgs Empty => new GroupAccessTokenRotationConfigurationArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GroupAccessTokenRotationConfigurationGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GroupAccessTokenRotationConfigurationGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The duration (in days) the new token should be valid for. 17 | /// 18 | [Input("expirationDays", required: true)] 19 | public Input ExpirationDays { get; set; } = null!; 20 | 21 | /// 22 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 23 | /// 24 | [Input("rotateBeforeDays", required: true)] 25 | public Input RotateBeforeDays { get; set; } = null!; 26 | 27 | public GroupAccessTokenRotationConfigurationGetArgs() 28 | { 29 | } 30 | public static new GroupAccessTokenRotationConfigurationGetArgs Empty => new GroupAccessTokenRotationConfigurationGetArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GroupEpicBoardListArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GroupEpicBoardListArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The ID of the list. 17 | /// 18 | [Input("id")] 19 | public Input? Id { get; set; } 20 | 21 | /// 22 | /// The ID of the label the list should be scoped to. 23 | /// 24 | [Input("labelId")] 25 | public Input? LabelId { get; set; } 26 | 27 | /// 28 | /// The position of the list within the board. The position for the list is sed on the its position in the `lists` array. 29 | /// 30 | [Input("position")] 31 | public Input? Position { get; set; } 32 | 33 | public GroupEpicBoardListArgs() 34 | { 35 | } 36 | public static new GroupEpicBoardListArgs Empty => new GroupEpicBoardListArgs(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GroupEpicBoardListGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GroupEpicBoardListGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The ID of the list. 17 | /// 18 | [Input("id")] 19 | public Input? Id { get; set; } 20 | 21 | /// 22 | /// The ID of the label the list should be scoped to. 23 | /// 24 | [Input("labelId")] 25 | public Input? LabelId { get; set; } 26 | 27 | /// 28 | /// The position of the list within the board. The position for the list is sed on the its position in the `lists` array. 29 | /// 30 | [Input("position")] 31 | public Input? Position { get; set; } 32 | 33 | public GroupEpicBoardListGetArgs() 34 | { 35 | } 36 | public static new GroupEpicBoardListGetArgs Empty => new GroupEpicBoardListGetArgs(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GroupHookCustomHeaderArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GroupHookCustomHeaderArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Key of the custom header. 17 | /// 18 | [Input("key", required: true)] 19 | public Input Key { get; set; } = null!; 20 | 21 | [Input("value", required: true)] 22 | private Input? _value; 23 | 24 | /// 25 | /// Value of the custom header. This value cannot be imported. 26 | /// 27 | public Input? Value 28 | { 29 | get => _value; 30 | set 31 | { 32 | var emptySecret = Output.CreateSecret(0); 33 | _value = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); 34 | } 35 | } 36 | 37 | public GroupHookCustomHeaderArgs() 38 | { 39 | } 40 | public static new GroupHookCustomHeaderArgs Empty => new GroupHookCustomHeaderArgs(); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GroupHookCustomHeaderGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GroupHookCustomHeaderGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Key of the custom header. 17 | /// 18 | [Input("key", required: true)] 19 | public Input Key { get; set; } = null!; 20 | 21 | [Input("value", required: true)] 22 | private Input? _value; 23 | 24 | /// 25 | /// Value of the custom header. This value cannot be imported. 26 | /// 27 | public Input? Value 28 | { 29 | get => _value; 30 | set 31 | { 32 | var emptySecret = Output.CreateSecret(0); 33 | _value = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); 34 | } 35 | } 36 | 37 | public GroupHookCustomHeaderGetArgs() 38 | { 39 | } 40 | public static new GroupHookCustomHeaderGetArgs Empty => new GroupHookCustomHeaderGetArgs(); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GroupIssueBoardListArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GroupIssueBoardListArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The ID of the list. 17 | /// 18 | [Input("id")] 19 | public Input? Id { get; set; } 20 | 21 | /// 22 | /// The ID of the label the list should be scoped to. 23 | /// 24 | [Input("labelId")] 25 | public Input? LabelId { get; set; } 26 | 27 | /// 28 | /// The explicit position of the list within the board, zero based. 29 | /// 30 | [Input("position")] 31 | public Input? Position { get; set; } 32 | 33 | public GroupIssueBoardListArgs() 34 | { 35 | } 36 | public static new GroupIssueBoardListArgs Empty => new GroupIssueBoardListArgs(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GroupIssueBoardListGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GroupIssueBoardListGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The ID of the list. 17 | /// 18 | [Input("id")] 19 | public Input? Id { get; set; } 20 | 21 | /// 22 | /// The ID of the label the list should be scoped to. 23 | /// 24 | [Input("labelId")] 25 | public Input? LabelId { get; set; } 26 | 27 | /// 28 | /// The explicit position of the list within the board, zero based. 29 | /// 30 | [Input("position")] 31 | public Input? Position { get; set; } 32 | 33 | public GroupIssueBoardListGetArgs() 34 | { 35 | } 36 | public static new GroupIssueBoardListGetArgs Empty => new GroupIssueBoardListGetArgs(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GroupServiceAccountAccessTokenRotationConfigurationArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GroupServiceAccountAccessTokenRotationConfigurationArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The duration (in days) the new token should be valid for. 17 | /// 18 | [Input("expirationDays")] 19 | public Input? ExpirationDays { get; set; } 20 | 21 | /// 22 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 23 | /// 24 | [Input("rotateBeforeDays", required: true)] 25 | public Input RotateBeforeDays { get; set; } = null!; 26 | 27 | public GroupServiceAccountAccessTokenRotationConfigurationArgs() 28 | { 29 | } 30 | public static new GroupServiceAccountAccessTokenRotationConfigurationArgs Empty => new GroupServiceAccountAccessTokenRotationConfigurationArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/GroupServiceAccountAccessTokenRotationConfigurationGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class GroupServiceAccountAccessTokenRotationConfigurationGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The duration (in days) the new token should be valid for. 17 | /// 18 | [Input("expirationDays")] 19 | public Input? ExpirationDays { get; set; } 20 | 21 | /// 22 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 23 | /// 24 | [Input("rotateBeforeDays", required: true)] 25 | public Input RotateBeforeDays { get; set; } = null!; 26 | 27 | public GroupServiceAccountAccessTokenRotationConfigurationGetArgs() 28 | { 29 | } 30 | public static new GroupServiceAccountAccessTokenRotationConfigurationGetArgs Empty => new GroupServiceAccountAccessTokenRotationConfigurationGetArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/InstanceServiceAccountTimeoutsArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class InstanceServiceAccountTimeoutsArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. 17 | /// 18 | [Input("delete")] 19 | public Input? Delete { get; set; } 20 | 21 | public InstanceServiceAccountTimeoutsArgs() 22 | { 23 | } 24 | public static new InstanceServiceAccountTimeoutsArgs Empty => new InstanceServiceAccountTimeoutsArgs(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/InstanceServiceAccountTimeoutsGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class InstanceServiceAccountTimeoutsGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. 17 | /// 18 | [Input("delete")] 19 | public Input? Delete { get; set; } 20 | 21 | public InstanceServiceAccountTimeoutsGetArgs() 22 | { 23 | } 24 | public static new InstanceServiceAccountTimeoutsGetArgs Empty => new InstanceServiceAccountTimeoutsGetArgs(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/PersonalAccessTokenRotationConfigurationArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class PersonalAccessTokenRotationConfigurationArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The duration (in days) the new token should be valid for. 17 | /// 18 | [Input("expirationDays", required: true)] 19 | public Input ExpirationDays { get; set; } = null!; 20 | 21 | /// 22 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 23 | /// 24 | [Input("rotateBeforeDays", required: true)] 25 | public Input RotateBeforeDays { get; set; } = null!; 26 | 27 | public PersonalAccessTokenRotationConfigurationArgs() 28 | { 29 | } 30 | public static new PersonalAccessTokenRotationConfigurationArgs Empty => new PersonalAccessTokenRotationConfigurationArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/PersonalAccessTokenRotationConfigurationGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class PersonalAccessTokenRotationConfigurationGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The duration (in days) the new token should be valid for. 17 | /// 18 | [Input("expirationDays", required: true)] 19 | public Input ExpirationDays { get; set; } = null!; 20 | 21 | /// 22 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 23 | /// 24 | [Input("rotateBeforeDays", required: true)] 25 | public Input RotateBeforeDays { get; set; } = null!; 26 | 27 | public PersonalAccessTokenRotationConfigurationGetArgs() 28 | { 29 | } 30 | public static new PersonalAccessTokenRotationConfigurationGetArgs Empty => new PersonalAccessTokenRotationConfigurationGetArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ProjectAccessTokenRotationConfigurationArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ProjectAccessTokenRotationConfigurationArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The duration (in days) the new token should be valid for. 17 | /// 18 | [Input("expirationDays", required: true)] 19 | public Input ExpirationDays { get; set; } = null!; 20 | 21 | /// 22 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 23 | /// 24 | [Input("rotateBeforeDays", required: true)] 25 | public Input RotateBeforeDays { get; set; } = null!; 26 | 27 | public ProjectAccessTokenRotationConfigurationArgs() 28 | { 29 | } 30 | public static new ProjectAccessTokenRotationConfigurationArgs Empty => new ProjectAccessTokenRotationConfigurationArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ProjectAccessTokenRotationConfigurationGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ProjectAccessTokenRotationConfigurationGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The duration (in days) the new token should be valid for. 17 | /// 18 | [Input("expirationDays", required: true)] 19 | public Input ExpirationDays { get; set; } = null!; 20 | 21 | /// 22 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 23 | /// 24 | [Input("rotateBeforeDays", required: true)] 25 | public Input RotateBeforeDays { get; set; } = null!; 26 | 27 | public ProjectAccessTokenRotationConfigurationGetArgs() 28 | { 29 | } 30 | public static new ProjectAccessTokenRotationConfigurationGetArgs Empty => new ProjectAccessTokenRotationConfigurationGetArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ProjectHookCustomHeaderArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ProjectHookCustomHeaderArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Key of the custom header. 17 | /// 18 | [Input("key", required: true)] 19 | public Input Key { get; set; } = null!; 20 | 21 | [Input("value", required: true)] 22 | private Input? _value; 23 | 24 | /// 25 | /// Value of the custom header. This value cannot be imported. 26 | /// 27 | public Input? Value 28 | { 29 | get => _value; 30 | set 31 | { 32 | var emptySecret = Output.CreateSecret(0); 33 | _value = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); 34 | } 35 | } 36 | 37 | public ProjectHookCustomHeaderArgs() 38 | { 39 | } 40 | public static new ProjectHookCustomHeaderArgs Empty => new ProjectHookCustomHeaderArgs(); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ProjectHookCustomHeaderGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ProjectHookCustomHeaderGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Key of the custom header. 17 | /// 18 | [Input("key", required: true)] 19 | public Input Key { get; set; } = null!; 20 | 21 | [Input("value", required: true)] 22 | private Input? _value; 23 | 24 | /// 25 | /// Value of the custom header. This value cannot be imported. 26 | /// 27 | public Input? Value 28 | { 29 | get => _value; 30 | set 31 | { 32 | var emptySecret = Output.CreateSecret(0); 33 | _value = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); 34 | } 35 | } 36 | 37 | public ProjectHookCustomHeaderGetArgs() 38 | { 39 | } 40 | public static new ProjectHookCustomHeaderGetArgs Empty => new ProjectHookCustomHeaderGetArgs(); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ProjectIssueBoardListArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ProjectIssueBoardListArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The ID of the assignee the list should be scoped to. Requires a GitLab EE license. 17 | /// 18 | [Input("assigneeId")] 19 | public Input? AssigneeId { get; set; } 20 | 21 | /// 22 | /// The ID of the list 23 | /// 24 | [Input("id")] 25 | public Input? Id { get; set; } 26 | 27 | /// 28 | /// The ID of the iteration the list should be scoped to. Requires a GitLab EE license. 29 | /// 30 | [Input("iterationId")] 31 | public Input? IterationId { get; set; } 32 | 33 | /// 34 | /// The ID of the label the list should be scoped to. Requires a GitLab EE license. 35 | /// 36 | [Input("labelId")] 37 | public Input? LabelId { get; set; } 38 | 39 | /// 40 | /// The ID of the milestone the list should be scoped to. Requires a GitLab EE license. 41 | /// 42 | [Input("milestoneId")] 43 | public Input? MilestoneId { get; set; } 44 | 45 | /// 46 | /// The position of the list within the board. The position for the list is based on the its position in the `lists` array. 47 | /// 48 | [Input("position")] 49 | public Input? Position { get; set; } 50 | 51 | public ProjectIssueBoardListArgs() 52 | { 53 | } 54 | public static new ProjectIssueBoardListArgs Empty => new ProjectIssueBoardListArgs(); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ProjectIssueBoardListGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ProjectIssueBoardListGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The ID of the assignee the list should be scoped to. Requires a GitLab EE license. 17 | /// 18 | [Input("assigneeId")] 19 | public Input? AssigneeId { get; set; } 20 | 21 | /// 22 | /// The ID of the list 23 | /// 24 | [Input("id")] 25 | public Input? Id { get; set; } 26 | 27 | /// 28 | /// The ID of the iteration the list should be scoped to. Requires a GitLab EE license. 29 | /// 30 | [Input("iterationId")] 31 | public Input? IterationId { get; set; } 32 | 33 | /// 34 | /// The ID of the label the list should be scoped to. Requires a GitLab EE license. 35 | /// 36 | [Input("labelId")] 37 | public Input? LabelId { get; set; } 38 | 39 | /// 40 | /// The ID of the milestone the list should be scoped to. Requires a GitLab EE license. 41 | /// 42 | [Input("milestoneId")] 43 | public Input? MilestoneId { get; set; } 44 | 45 | /// 46 | /// The position of the list within the board. The position for the list is based on the its position in the `lists` array. 47 | /// 48 | [Input("position")] 49 | public Input? Position { get; set; } 50 | 51 | public ProjectIssueBoardListGetArgs() 52 | { 53 | } 54 | public static new ProjectIssueBoardListGetArgs Empty => new ProjectIssueBoardListGetArgs(); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ProjectIssueTaskCompletionStatusArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ProjectIssueTaskCompletionStatusArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The number of tasks that are completed. 17 | /// 18 | [Input("completedCount")] 19 | public Input? CompletedCount { get; set; } 20 | 21 | /// 22 | /// The number of tasks. 23 | /// 24 | [Input("count")] 25 | public Input? Count { get; set; } 26 | 27 | public ProjectIssueTaskCompletionStatusArgs() 28 | { 29 | } 30 | public static new ProjectIssueTaskCompletionStatusArgs Empty => new ProjectIssueTaskCompletionStatusArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ProjectIssueTaskCompletionStatusGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ProjectIssueTaskCompletionStatusGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The number of tasks that are completed. 17 | /// 18 | [Input("completedCount")] 19 | public Input? CompletedCount { get; set; } 20 | 21 | /// 22 | /// The number of tasks. 23 | /// 24 | [Input("count")] 25 | public Input? Count { get; set; } 26 | 27 | public ProjectIssueTaskCompletionStatusGetArgs() 28 | { 29 | } 30 | public static new ProjectIssueTaskCompletionStatusGetArgs Empty => new ProjectIssueTaskCompletionStatusGetArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ProjectTagReleaseArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ProjectTagReleaseArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The description of release. 17 | /// 18 | [Input("description")] 19 | public Input? Description { get; set; } 20 | 21 | /// 22 | /// The name of the tag. 23 | /// 24 | [Input("tagName")] 25 | public Input? TagName { get; set; } 26 | 27 | public ProjectTagReleaseArgs() 28 | { 29 | } 30 | public static new ProjectTagReleaseArgs Empty => new ProjectTagReleaseArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ProjectTagReleaseGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ProjectTagReleaseGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The description of release. 17 | /// 18 | [Input("description")] 19 | public Input? Description { get; set; } 20 | 21 | /// 22 | /// The name of the tag. 23 | /// 24 | [Input("tagName")] 25 | public Input? TagName { get; set; } 26 | 27 | public ProjectTagReleaseGetArgs() 28 | { 29 | } 30 | public static new ProjectTagReleaseGetArgs Empty => new ProjectTagReleaseGetArgs(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ReleaseAssetsArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ReleaseAssetsArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The total count of assets in this release. 17 | /// 18 | [Input("count")] 19 | public Input? Count { get; set; } 20 | 21 | public ReleaseAssetsArgs() 22 | { 23 | } 24 | public static new ReleaseAssetsArgs Empty => new ReleaseAssetsArgs(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ReleaseAssetsGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ReleaseAssetsGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The total count of assets in this release. 17 | /// 18 | [Input("count")] 19 | public Input? Count { get; set; } 20 | 21 | public ReleaseAssetsGetArgs() 22 | { 23 | } 24 | public static new ReleaseAssetsGetArgs Empty => new ReleaseAssetsGetArgs(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ReleaseAuthorArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ReleaseAuthorArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The url of the author's' user avatar. 17 | /// 18 | [Input("avatarUrl")] 19 | public Input? AvatarUrl { get; set; } 20 | 21 | /// 22 | /// The ID of the author's user. 23 | /// 24 | [Input("id")] 25 | public Input? Id { get; set; } 26 | 27 | /// 28 | /// The name of the author. 29 | /// 30 | [Input("name")] 31 | public Input? Name { get; set; } 32 | 33 | /// 34 | /// The state of the author's user. 35 | /// 36 | [Input("state")] 37 | public Input? State { get; set; } 38 | 39 | /// 40 | /// The username of the author. 41 | /// 42 | [Input("username")] 43 | public Input? Username { get; set; } 44 | 45 | /// 46 | /// The url to the author's user profile. 47 | /// 48 | [Input("webUrl")] 49 | public Input? WebUrl { get; set; } 50 | 51 | public ReleaseAuthorArgs() 52 | { 53 | } 54 | public static new ReleaseAuthorArgs Empty => new ReleaseAuthorArgs(); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ReleaseAuthorGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ReleaseAuthorGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// The url of the author's' user avatar. 17 | /// 18 | [Input("avatarUrl")] 19 | public Input? AvatarUrl { get; set; } 20 | 21 | /// 22 | /// The ID of the author's user. 23 | /// 24 | [Input("id")] 25 | public Input? Id { get; set; } 26 | 27 | /// 28 | /// The name of the author. 29 | /// 30 | [Input("name")] 31 | public Input? Name { get; set; } 32 | 33 | /// 34 | /// The state of the author's user. 35 | /// 36 | [Input("state")] 37 | public Input? State { get; set; } 38 | 39 | /// 40 | /// The username of the author. 41 | /// 42 | [Input("username")] 43 | public Input? Username { get; set; } 44 | 45 | /// 46 | /// The url to the author's user profile. 47 | /// 48 | [Input("webUrl")] 49 | public Input? WebUrl { get; set; } 50 | 51 | public ReleaseAuthorGetArgs() 52 | { 53 | } 54 | public static new ReleaseAuthorGetArgs Empty => new ReleaseAuthorGetArgs(); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ReleaseLinksArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ReleaseLinksArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// URL of the release's closed issues. 17 | /// 18 | [Input("closedIssuesUrl")] 19 | public Input? ClosedIssuesUrl { get; set; } 20 | 21 | /// 22 | /// URL of the release's closed merge requests. 23 | /// 24 | [Input("closedMergeRequestsUrl")] 25 | public Input? ClosedMergeRequestsUrl { get; set; } 26 | 27 | /// 28 | /// URL of the release's edit page. 29 | /// 30 | [Input("editUrl")] 31 | public Input? EditUrl { get; set; } 32 | 33 | /// 34 | /// URL of the release's merged merge requests. 35 | /// 36 | [Input("mergedMergeRequestsUrl")] 37 | public Input? MergedMergeRequestsUrl { get; set; } 38 | 39 | /// 40 | /// URL of the release's open issues. 41 | /// 42 | [Input("openedIssuesUrl")] 43 | public Input? OpenedIssuesUrl { get; set; } 44 | 45 | /// 46 | /// URL of the release's open merge requests. 47 | /// 48 | [Input("openedMergeRequestsUrl")] 49 | public Input? OpenedMergeRequestsUrl { get; set; } 50 | 51 | /// 52 | /// URL of the release. 53 | /// 54 | [Input("self")] 55 | public Input? Self { get; set; } 56 | 57 | public ReleaseLinksArgs() 58 | { 59 | } 60 | public static new ReleaseLinksArgs Empty => new ReleaseLinksArgs(); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/ReleaseLinksGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class ReleaseLinksGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// URL of the release's closed issues. 17 | /// 18 | [Input("closedIssuesUrl")] 19 | public Input? ClosedIssuesUrl { get; set; } 20 | 21 | /// 22 | /// URL of the release's closed merge requests. 23 | /// 24 | [Input("closedMergeRequestsUrl")] 25 | public Input? ClosedMergeRequestsUrl { get; set; } 26 | 27 | /// 28 | /// URL of the release's edit page. 29 | /// 30 | [Input("editUrl")] 31 | public Input? EditUrl { get; set; } 32 | 33 | /// 34 | /// URL of the release's merged merge requests. 35 | /// 36 | [Input("mergedMergeRequestsUrl")] 37 | public Input? MergedMergeRequestsUrl { get; set; } 38 | 39 | /// 40 | /// URL of the release's open issues. 41 | /// 42 | [Input("openedIssuesUrl")] 43 | public Input? OpenedIssuesUrl { get; set; } 44 | 45 | /// 46 | /// URL of the release's open merge requests. 47 | /// 48 | [Input("openedMergeRequestsUrl")] 49 | public Input? OpenedMergeRequestsUrl { get; set; } 50 | 51 | /// 52 | /// URL of the release. 53 | /// 54 | [Input("self")] 55 | public Input? Self { get; set; } 56 | 57 | public ReleaseLinksGetArgs() 58 | { 59 | } 60 | public static new ReleaseLinksGetArgs Empty => new ReleaseLinksGetArgs(); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/TagProtectionAllowedToCreateArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class TagProtectionAllowedToCreateArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Access levels allowed to create protected tags. Valid values are: `no one`, `developer`, `maintainer`. 17 | /// 18 | [Input("accessLevel")] 19 | public Input? AccessLevel { get; set; } 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription")] 25 | public Input? AccessLevelDescription { get; set; } 26 | 27 | /// 28 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 29 | /// 30 | [Input("groupId")] 31 | public Input? GroupId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 35 | /// 36 | [Input("userId")] 37 | public Input? UserId { get; set; } 38 | 39 | public TagProtectionAllowedToCreateArgs() 40 | { 41 | } 42 | public static new TagProtectionAllowedToCreateArgs Empty => new TagProtectionAllowedToCreateArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Inputs/TagProtectionAllowedToCreateGetArgs.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Inputs 11 | { 12 | 13 | public sealed class TagProtectionAllowedToCreateGetArgs : global::Pulumi.ResourceArgs 14 | { 15 | /// 16 | /// Access levels allowed to create protected tags. Valid values are: `no one`, `developer`, `maintainer`. 17 | /// 18 | [Input("accessLevel")] 19 | public Input? AccessLevel { get; set; } 20 | 21 | /// 22 | /// Readable description of access level. 23 | /// 24 | [Input("accessLevelDescription")] 25 | public Input? AccessLevelDescription { get; set; } 26 | 27 | /// 28 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 29 | /// 30 | [Input("groupId")] 31 | public Input? GroupId { get; set; } 32 | 33 | /// 34 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 35 | /// 36 | [Input("userId")] 37 | public Input? UserId { get; set; } 38 | 39 | public TagProtectionAllowedToCreateGetArgs() 40 | { 41 | } 42 | public static new TagProtectionAllowedToCreateGetArgs Empty => new TagProtectionAllowedToCreateGetArgs(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/ApplicationSettingsDefaultBranchProtectionDefaults.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class ApplicationSettingsDefaultBranchProtectionDefaults 15 | { 16 | /// 17 | /// Allow force push for all users with push access. 18 | /// 19 | public readonly bool? AllowForcePush; 20 | /// 21 | /// An array of access levels allowed to merge. Supports Developer (30) or Maintainer (40). 22 | /// 23 | public readonly ImmutableArray AllowedToMerges; 24 | /// 25 | /// An array of access levels allowed to push. Supports Developer (30) or Maintainer (40). 26 | /// 27 | public readonly ImmutableArray AllowedToPushes; 28 | /// 29 | /// Allow developers to initial push. 30 | /// 31 | public readonly bool? DeveloperCanInitialPush; 32 | 33 | [OutputConstructor] 34 | private ApplicationSettingsDefaultBranchProtectionDefaults( 35 | bool? allowForcePush, 36 | 37 | ImmutableArray allowedToMerges, 38 | 39 | ImmutableArray allowedToPushes, 40 | 41 | bool? developerCanInitialPush) 42 | { 43 | AllowForcePush = allowForcePush; 44 | AllowedToMerges = allowedToMerges; 45 | AllowedToPushes = allowedToPushes; 46 | DeveloperCanInitialPush = developerCanInitialPush; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/BranchProtectionAllowedToMerge.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class BranchProtectionAllowedToMerge 15 | { 16 | /// 17 | /// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 18 | /// 19 | public readonly string? AccessLevel; 20 | /// 21 | /// Readable description of access level. 22 | /// 23 | public readonly string? AccessLevelDescription; 24 | /// 25 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 26 | /// 27 | public readonly int? GroupId; 28 | /// 29 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 30 | /// 31 | public readonly int? UserId; 32 | 33 | [OutputConstructor] 34 | private BranchProtectionAllowedToMerge( 35 | string? accessLevel, 36 | 37 | string? accessLevelDescription, 38 | 39 | int? groupId, 40 | 41 | int? userId) 42 | { 43 | AccessLevel = accessLevel; 44 | AccessLevelDescription = accessLevelDescription; 45 | GroupId = groupId; 46 | UserId = userId; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/BranchProtectionAllowedToPush.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class BranchProtectionAllowedToPush 15 | { 16 | /// 17 | /// Access levels allowed to push to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 18 | /// 19 | public readonly string? AccessLevel; 20 | /// 21 | /// Readable description of access level. 22 | /// 23 | public readonly string? AccessLevelDescription; 24 | /// 25 | /// The ID of a GitLab deploy key allowed to perform the relevant action. Mutually exclusive with `group_id` and `user_id`. This field is read-only until Gitlab 17.5. 26 | /// 27 | public readonly int? DeployKeyId; 28 | /// 29 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `deploy_key_id` and `user_id`. 30 | /// 31 | public readonly int? GroupId; 32 | /// 33 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `deploy_key_id` and `group_id`. 34 | /// 35 | public readonly int? UserId; 36 | 37 | [OutputConstructor] 38 | private BranchProtectionAllowedToPush( 39 | string? accessLevel, 40 | 41 | string? accessLevelDescription, 42 | 43 | int? deployKeyId, 44 | 45 | int? groupId, 46 | 47 | int? userId) 48 | { 49 | AccessLevel = accessLevel; 50 | AccessLevelDescription = accessLevelDescription; 51 | DeployKeyId = deployKeyId; 52 | GroupId = groupId; 53 | UserId = userId; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/BranchProtectionAllowedToUnprotect.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class BranchProtectionAllowedToUnprotect 15 | { 16 | /// 17 | /// Access levels allowed to unprotect push to protected branch. Valid values are: `developer`, `maintainer`, `admin`. 18 | /// 19 | public readonly string? AccessLevel; 20 | /// 21 | /// Readable description of access level. 22 | /// 23 | public readonly string? AccessLevelDescription; 24 | /// 25 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 26 | /// 27 | public readonly int? GroupId; 28 | /// 29 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 30 | /// 31 | public readonly int? UserId; 32 | 33 | [OutputConstructor] 34 | private BranchProtectionAllowedToUnprotect( 35 | string? accessLevel, 36 | 37 | string? accessLevelDescription, 38 | 39 | int? groupId, 40 | 41 | int? userId) 42 | { 43 | AccessLevel = accessLevel; 44 | AccessLevelDescription = accessLevelDescription; 45 | GroupId = groupId; 46 | UserId = userId; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetClusterAgentsClusterAgentResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetClusterAgentsClusterAgentResult 15 | { 16 | /// 17 | /// The ID of the agent. 18 | /// 19 | public readonly int AgentId; 20 | /// 21 | /// The ISO8601 datetime when the agent was created. 22 | /// 23 | public readonly string CreatedAt; 24 | /// 25 | /// The ID of the user who created the agent. 26 | /// 27 | public readonly int CreatedByUserId; 28 | /// 29 | /// The Name of the agent. 30 | /// 31 | public readonly string Name; 32 | /// 33 | /// ID or full path of the project maintained by the authenticated user. 34 | /// 35 | public readonly string Project; 36 | 37 | [OutputConstructor] 38 | private GetClusterAgentsClusterAgentResult( 39 | int agentId, 40 | 41 | string createdAt, 42 | 43 | int createdByUserId, 44 | 45 | string name, 46 | 47 | string project) 48 | { 49 | AgentId = agentId; 50 | CreatedAt = createdAt; 51 | CreatedByUserId = createdByUserId; 52 | Name = name; 53 | Project = project; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetGroupAccessTokensAccessTokenResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetGroupAccessTokensAccessTokenResult 15 | { 16 | public readonly string AccessLevel; 17 | public readonly bool Active; 18 | public readonly string CreatedAt; 19 | public readonly string ExpiresAt; 20 | public readonly string Group; 21 | public readonly string Id; 22 | public readonly string Name; 23 | public readonly bool Revoked; 24 | public readonly ImmutableArray Scopes; 25 | public readonly int UserId; 26 | 27 | [OutputConstructor] 28 | private GetGroupAccessTokensAccessTokenResult( 29 | string accessLevel, 30 | 31 | bool active, 32 | 33 | string createdAt, 34 | 35 | string expiresAt, 36 | 37 | string group, 38 | 39 | string id, 40 | 41 | string name, 42 | 43 | bool revoked, 44 | 45 | ImmutableArray scopes, 46 | 47 | int userId) 48 | { 49 | AccessLevel = accessLevel; 50 | Active = active; 51 | CreatedAt = createdAt; 52 | ExpiresAt = expiresAt; 53 | Group = group; 54 | Id = id; 55 | Name = name; 56 | Revoked = revoked; 57 | Scopes = scopes; 58 | UserId = userId; 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetGroupSharedWithGroupResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetGroupSharedWithGroupResult 15 | { 16 | /// 17 | /// Share with group expiration date. 18 | /// 19 | public readonly string ExpiresAt; 20 | /// 21 | /// The access_level permission level of the shared group. 22 | /// 23 | public readonly int GroupAccessLevel; 24 | /// 25 | /// The full path of the group shared with. 26 | /// 27 | public readonly string GroupFullPath; 28 | /// 29 | /// The ID of the group shared with. 30 | /// 31 | public readonly int GroupId; 32 | /// 33 | /// The name of the group shared with. 34 | /// 35 | public readonly string GroupName; 36 | 37 | [OutputConstructor] 38 | private GetGroupSharedWithGroupResult( 39 | string expiresAt, 40 | 41 | int groupAccessLevel, 42 | 43 | string groupFullPath, 44 | 45 | int groupId, 46 | 47 | string groupName) 48 | { 49 | ExpiresAt = expiresAt; 50 | GroupAccessLevel = groupAccessLevel; 51 | GroupFullPath = groupFullPath; 52 | GroupId = groupId; 53 | GroupName = groupName; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetGroupVariablesVariableResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetGroupVariablesVariableResult 15 | { 16 | public readonly string Description; 17 | public readonly string EnvironmentScope; 18 | public readonly string Group; 19 | public readonly string Key; 20 | public readonly bool Masked; 21 | public readonly bool Protected; 22 | public readonly bool Raw; 23 | public readonly string Value; 24 | public readonly string VariableType; 25 | 26 | [OutputConstructor] 27 | private GetGroupVariablesVariableResult( 28 | string description, 29 | 30 | string environmentScope, 31 | 32 | string group, 33 | 34 | string key, 35 | 36 | bool masked, 37 | 38 | bool @protected, 39 | 40 | bool raw, 41 | 42 | string value, 43 | 44 | string variableType) 45 | { 46 | Description = description; 47 | EnvironmentScope = environmentScope; 48 | Group = group; 49 | Key = key; 50 | Masked = masked; 51 | Protected = @protected; 52 | Raw = raw; 53 | Value = value; 54 | VariableType = variableType; 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetInstanceDeployKeysDeployKeyResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetInstanceDeployKeysDeployKeyResult 15 | { 16 | /// 17 | /// The creation date of the deploy key. In RFC3339 format. 18 | /// 19 | public readonly string CreatedAt; 20 | /// 21 | /// The fingerprint of the deploy key. 22 | /// 23 | public readonly string Fingerprint; 24 | /// 25 | /// The ID of the deploy key. 26 | /// 27 | public readonly int Id; 28 | /// 29 | /// The deploy key. 30 | /// 31 | public readonly string Key; 32 | /// 33 | /// The list of projects that the deploy key has write access to. 34 | /// 35 | public readonly ImmutableArray ProjectsWithWriteAccesses; 36 | /// 37 | /// The title of the deploy key. 38 | /// 39 | public readonly string Title; 40 | 41 | [OutputConstructor] 42 | private GetInstanceDeployKeysDeployKeyResult( 43 | string createdAt, 44 | 45 | string fingerprint, 46 | 47 | int id, 48 | 49 | string key, 50 | 51 | ImmutableArray projectsWithWriteAccesses, 52 | 53 | string title) 54 | { 55 | CreatedAt = createdAt; 56 | Fingerprint = fingerprint; 57 | Id = id; 58 | Key = key; 59 | ProjectsWithWriteAccesses = projectsWithWriteAccesses; 60 | Title = title; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetMetadataKasResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetMetadataKasResult 15 | { 16 | /// 17 | /// Indicates whether KAS is enabled. 18 | /// 19 | public readonly bool Enabled; 20 | /// 21 | /// URL used by the Kubernetes tooling to communicate with the KAS Kubernetes API proxy. It’s null if kas.enabled is false. 22 | /// 23 | public readonly string ExternalK8sProxyUrl; 24 | /// 25 | /// URL used by the agents to communicate with KAS. It’s null if kas.enabled is false. 26 | /// 27 | public readonly string ExternalUrl; 28 | /// 29 | /// Version of KAS. It’s null if kas.enabled is false. 30 | /// 31 | public readonly string Version; 32 | 33 | [OutputConstructor] 34 | private GetMetadataKasResult( 35 | bool enabled, 36 | 37 | string externalK8sProxyUrl, 38 | 39 | string externalUrl, 40 | 41 | string version) 42 | { 43 | Enabled = enabled; 44 | ExternalK8sProxyUrl = externalK8sProxyUrl; 45 | ExternalUrl = externalUrl; 46 | Version = version; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetPipelineScheduleLastPipelineResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetPipelineScheduleLastPipelineResult 15 | { 16 | /// 17 | /// The pipeline ID. 18 | /// 19 | public readonly int Id; 20 | /// 21 | /// The ref of the pipeline. 22 | /// 23 | public readonly string Ref; 24 | /// 25 | /// The SHA of the pipeline. 26 | /// 27 | public readonly string Sha; 28 | /// 29 | /// The status of pipelines, one of: created, waiting*for*resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled. 30 | /// 31 | public readonly string Status; 32 | 33 | [OutputConstructor] 34 | private GetPipelineScheduleLastPipelineResult( 35 | int id, 36 | 37 | string @ref, 38 | 39 | string sha, 40 | 41 | string status) 42 | { 43 | Id = id; 44 | Ref = @ref; 45 | Sha = sha; 46 | Status = status; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetPipelineScheduleOwnerResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetPipelineScheduleOwnerResult 15 | { 16 | /// 17 | /// Image URL for the user's avatar. 18 | /// 19 | public readonly string AvatarUrl; 20 | /// 21 | /// The user ID. 22 | /// 23 | public readonly int Id; 24 | /// 25 | /// Name. 26 | /// 27 | public readonly string Name; 28 | /// 29 | /// User's state, one of: active, blocked. 30 | /// 31 | public readonly string State; 32 | /// 33 | /// Username. 34 | /// 35 | public readonly string Username; 36 | /// 37 | /// URL to the user's profile. 38 | /// 39 | public readonly string WebUrl; 40 | 41 | [OutputConstructor] 42 | private GetPipelineScheduleOwnerResult( 43 | string avatarUrl, 44 | 45 | int id, 46 | 47 | string name, 48 | 49 | string state, 50 | 51 | string username, 52 | 53 | string webUrl) 54 | { 55 | AvatarUrl = avatarUrl; 56 | Id = id; 57 | Name = name; 58 | State = state; 59 | Username = username; 60 | WebUrl = webUrl; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetPipelineScheduleVariableResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetPipelineScheduleVariableResult 15 | { 16 | /// 17 | /// The key of a variable. 18 | /// 19 | public readonly string Key; 20 | /// 21 | /// The value of a variable. 22 | /// 23 | public readonly string Value; 24 | /// 25 | /// The type of a variable, one of: env_var and file. 26 | /// 27 | public readonly string VariableType; 28 | 29 | [OutputConstructor] 30 | private GetPipelineScheduleVariableResult( 31 | string key, 32 | 33 | string value, 34 | 35 | string variableType) 36 | { 37 | Key = key; 38 | Value = value; 39 | VariableType = variableType; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetPipelineSchedulesPipelineScheduleOwnerResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetPipelineSchedulesPipelineScheduleOwnerResult 15 | { 16 | /// 17 | /// Image URL for the user's avatar. 18 | /// 19 | public readonly string AvatarUrl; 20 | /// 21 | /// The user ID. 22 | /// 23 | public readonly int Id; 24 | /// 25 | /// Name. 26 | /// 27 | public readonly string Name; 28 | /// 29 | /// User's state, one of: active, blocked. 30 | /// 31 | public readonly string State; 32 | /// 33 | /// Username. 34 | /// 35 | public readonly string Username; 36 | /// 37 | /// URL to the user's profile. 38 | /// 39 | public readonly string WebUrl; 40 | 41 | [OutputConstructor] 42 | private GetPipelineSchedulesPipelineScheduleOwnerResult( 43 | string avatarUrl, 44 | 45 | int id, 46 | 47 | string name, 48 | 49 | string state, 50 | 51 | string username, 52 | 53 | string webUrl) 54 | { 55 | AvatarUrl = avatarUrl; 56 | Id = id; 57 | Name = name; 58 | State = state; 59 | Username = username; 60 | WebUrl = webUrl; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectIssueTaskCompletionStatusResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectIssueTaskCompletionStatusResult 15 | { 16 | /// 17 | /// The number of tasks that are completed. 18 | /// 19 | public readonly int CompletedCount; 20 | /// 21 | /// The number of tasks. 22 | /// 23 | public readonly int Count; 24 | 25 | [OutputConstructor] 26 | private GetProjectIssueTaskCompletionStatusResult( 27 | int completedCount, 28 | 29 | int count) 30 | { 31 | CompletedCount = completedCount; 32 | Count = count; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectIssuesIssueTaskCompletionStatusResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectIssuesIssueTaskCompletionStatusResult 15 | { 16 | /// 17 | /// The number of tasks that are completed. 18 | /// 19 | public readonly int CompletedCount; 20 | /// 21 | /// The number of tasks. 22 | /// 23 | public readonly int Count; 24 | 25 | [OutputConstructor] 26 | private GetProjectIssuesIssueTaskCompletionStatusResult( 27 | int completedCount, 28 | 29 | int count) 30 | { 31 | CompletedCount = completedCount; 32 | Count = count; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectMergeRequestAssigneeResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectMergeRequestAssigneeResult 15 | { 16 | /// 17 | /// A link to the user's avatar image. 18 | /// 19 | public readonly string AvatarUrl; 20 | /// 21 | /// The internal ID number of the user. 22 | /// 23 | public readonly int Id; 24 | /// 25 | /// The name of the user. 26 | /// 27 | public readonly string Name; 28 | /// 29 | /// The state of the user account. 30 | /// 31 | public readonly string State; 32 | /// 33 | /// The username of the user. 34 | /// 35 | public readonly string Username; 36 | /// 37 | /// A link to the user's profile page. 38 | /// 39 | public readonly string WebUrl; 40 | 41 | [OutputConstructor] 42 | private GetProjectMergeRequestAssigneeResult( 43 | string avatarUrl, 44 | 45 | int id, 46 | 47 | string name, 48 | 49 | string state, 50 | 51 | string username, 52 | 53 | string webUrl) 54 | { 55 | AvatarUrl = avatarUrl; 56 | Id = id; 57 | Name = name; 58 | State = state; 59 | Username = username; 60 | WebUrl = webUrl; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectMergeRequestAuthorResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectMergeRequestAuthorResult 15 | { 16 | /// 17 | /// A link to the user's avatar image. 18 | /// 19 | public readonly string AvatarUrl; 20 | /// 21 | /// The internal ID number of the user. 22 | /// 23 | public readonly int Id; 24 | /// 25 | /// The name of the user. 26 | /// 27 | public readonly string Name; 28 | /// 29 | /// The state of the user account. 30 | /// 31 | public readonly string State; 32 | /// 33 | /// The username of the user. 34 | /// 35 | public readonly string Username; 36 | /// 37 | /// A link to the user's profile page. 38 | /// 39 | public readonly string WebUrl; 40 | 41 | [OutputConstructor] 42 | private GetProjectMergeRequestAuthorResult( 43 | string avatarUrl, 44 | 45 | int id, 46 | 47 | string name, 48 | 49 | string state, 50 | 51 | string username, 52 | 53 | string webUrl) 54 | { 55 | AvatarUrl = avatarUrl; 56 | Id = id; 57 | Name = name; 58 | State = state; 59 | Username = username; 60 | WebUrl = webUrl; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectMergeRequestClosedByResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectMergeRequestClosedByResult 15 | { 16 | /// 17 | /// A link to the user's avatar image. 18 | /// 19 | public readonly string AvatarUrl; 20 | /// 21 | /// The internal ID number of the user. 22 | /// 23 | public readonly int Id; 24 | /// 25 | /// The name of the user. 26 | /// 27 | public readonly string Name; 28 | /// 29 | /// The state of the user account. 30 | /// 31 | public readonly string State; 32 | /// 33 | /// The username of the user. 34 | /// 35 | public readonly string Username; 36 | /// 37 | /// A link to the user's profile page. 38 | /// 39 | public readonly string WebUrl; 40 | 41 | [OutputConstructor] 42 | private GetProjectMergeRequestClosedByResult( 43 | string avatarUrl, 44 | 45 | int id, 46 | 47 | string name, 48 | 49 | string state, 50 | 51 | string username, 52 | 53 | string webUrl) 54 | { 55 | AvatarUrl = avatarUrl; 56 | Id = id; 57 | Name = name; 58 | State = state; 59 | Username = username; 60 | WebUrl = webUrl; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectProtectedBranchMergeAccessLevelResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectProtectedBranchMergeAccessLevelResult 15 | { 16 | /// 17 | /// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 18 | /// 19 | public readonly string AccessLevel; 20 | /// 21 | /// Readable description of access level. 22 | /// 23 | public readonly string AccessLevelDescription; 24 | /// 25 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 26 | /// 27 | public readonly int? GroupId; 28 | /// 29 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 30 | /// 31 | public readonly int? UserId; 32 | 33 | [OutputConstructor] 34 | private GetProjectProtectedBranchMergeAccessLevelResult( 35 | string accessLevel, 36 | 37 | string accessLevelDescription, 38 | 39 | int? groupId, 40 | 41 | int? userId) 42 | { 43 | AccessLevel = accessLevel; 44 | AccessLevelDescription = accessLevelDescription; 45 | GroupId = groupId; 46 | UserId = userId; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectProtectedBranchesProtectedBranchMergeAccessLevelResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectProtectedBranchesProtectedBranchMergeAccessLevelResult 15 | { 16 | /// 17 | /// Access levels allowed to merge to protected branch. Valid values are: `no one`, `developer`, `maintainer`. 18 | /// 19 | public readonly string AccessLevel; 20 | /// 21 | /// Readable description of access level. 22 | /// 23 | public readonly string AccessLevelDescription; 24 | /// 25 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 26 | /// 27 | public readonly int? GroupId; 28 | /// 29 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 30 | /// 31 | public readonly int? UserId; 32 | 33 | [OutputConstructor] 34 | private GetProjectProtectedBranchesProtectedBranchMergeAccessLevelResult( 35 | string accessLevel, 36 | 37 | string accessLevelDescription, 38 | 39 | int? groupId, 40 | 41 | int? userId) 42 | { 43 | AccessLevel = accessLevel; 44 | AccessLevelDescription = accessLevelDescription; 45 | GroupId = groupId; 46 | UserId = userId; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectProtectedTagCreateAccessLevelResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectProtectedTagCreateAccessLevelResult 15 | { 16 | /// 17 | /// Access level allowed to create protected tags. 18 | /// 19 | public readonly string AccessLevel; 20 | /// 21 | /// Readable description of access level. 22 | /// 23 | public readonly string AccessLevelDescription; 24 | /// 25 | /// The ID of a GitLab group allowed to perform the relevant action. 26 | /// 27 | public readonly int? GroupId; 28 | /// 29 | /// The ID of the create access level. 30 | /// 31 | public readonly int Id; 32 | /// 33 | /// The ID of a GitLab user allowed to perform the relevant action. 34 | /// 35 | public readonly int? UserId; 36 | 37 | [OutputConstructor] 38 | private GetProjectProtectedTagCreateAccessLevelResult( 39 | string accessLevel, 40 | 41 | string accessLevelDescription, 42 | 43 | int? groupId, 44 | 45 | int id, 46 | 47 | int? userId) 48 | { 49 | AccessLevel = accessLevel; 50 | AccessLevelDescription = accessLevelDescription; 51 | GroupId = groupId; 52 | Id = id; 53 | UserId = userId; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectProtectedTagsProtectedTagCreateAccessLevelResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectProtectedTagsProtectedTagCreateAccessLevelResult 15 | { 16 | /// 17 | /// Access level allowed to create protected tags. 18 | /// 19 | public readonly string AccessLevel; 20 | /// 21 | /// Readable description of access level. 22 | /// 23 | public readonly string AccessLevelDescription; 24 | /// 25 | /// The ID of a GitLab group allowed to perform the relevant action. 26 | /// 27 | public readonly int? GroupId; 28 | /// 29 | /// The ID of the create access level. 30 | /// 31 | public readonly int Id; 32 | /// 33 | /// The ID of a GitLab user allowed to perform the relevant action. 34 | /// 35 | public readonly int? UserId; 36 | 37 | [OutputConstructor] 38 | private GetProjectProtectedTagsProtectedTagCreateAccessLevelResult( 39 | string accessLevel, 40 | 41 | string accessLevelDescription, 42 | 43 | int? groupId, 44 | 45 | int id, 46 | 47 | int? userId) 48 | { 49 | AccessLevel = accessLevel; 50 | AccessLevelDescription = accessLevelDescription; 51 | GroupId = groupId; 52 | Id = id; 53 | UserId = userId; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectProtectedTagsProtectedTagResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectProtectedTagsProtectedTagResult 15 | { 16 | /// 17 | /// Array of access levels/user(s)/group(s) allowed to create protected tags. 18 | /// 19 | public readonly ImmutableArray CreateAccessLevels; 20 | /// 21 | /// The name of the protected tag. 22 | /// 23 | public readonly string Tag; 24 | 25 | [OutputConstructor] 26 | private GetProjectProtectedTagsProtectedTagResult( 27 | ImmutableArray createAccessLevels, 28 | 29 | string tag) 30 | { 31 | CreateAccessLevels = createAccessLevels; 32 | Tag = tag; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectSharedWithGroupResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectSharedWithGroupResult 15 | { 16 | /// 17 | /// The access_level permission level of the shared group. 18 | /// 19 | public readonly int GroupAccessLevel; 20 | /// 21 | /// The full path of the group shared with. 22 | /// 23 | public readonly string GroupFullPath; 24 | /// 25 | /// The ID of the group shared with. 26 | /// 27 | public readonly int GroupId; 28 | /// 29 | /// The name of the group shared with. 30 | /// 31 | public readonly string GroupName; 32 | 33 | [OutputConstructor] 34 | private GetProjectSharedWithGroupResult( 35 | int groupAccessLevel, 36 | 37 | string groupFullPath, 38 | 39 | int groupId, 40 | 41 | string groupName) 42 | { 43 | GroupAccessLevel = groupAccessLevel; 44 | GroupFullPath = groupFullPath; 45 | GroupId = groupId; 46 | GroupName = groupName; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectTagReleaseResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectTagReleaseResult 15 | { 16 | /// 17 | /// The description of release. 18 | /// 19 | public readonly string Description; 20 | /// 21 | /// The name of the tag. 22 | /// 23 | public readonly string TagName; 24 | 25 | [OutputConstructor] 26 | private GetProjectTagReleaseResult( 27 | string description, 28 | 29 | string tagName) 30 | { 31 | Description = description; 32 | TagName = tagName; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectTagsTagReleaseResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectTagsTagReleaseResult 15 | { 16 | /// 17 | /// The description of release. 18 | /// 19 | public readonly string Description; 20 | /// 21 | /// The name of the tag. 22 | /// 23 | public readonly string TagName; 24 | 25 | [OutputConstructor] 26 | private GetProjectTagsTagReleaseResult( 27 | string description, 28 | 29 | string tagName) 30 | { 31 | Description = description; 32 | TagName = tagName; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectTagsTagResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectTagsTagResult 15 | { 16 | /// 17 | /// The commit associated with the tag. 18 | /// 19 | public readonly ImmutableArray Commits; 20 | /// 21 | /// The message of the annotated tag. 22 | /// 23 | public readonly string Message; 24 | /// 25 | /// The name of a tag. 26 | /// 27 | public readonly string Name; 28 | /// 29 | /// Bool, true if tag has tag protection. 30 | /// 31 | public readonly bool Protected; 32 | /// 33 | /// The release associated with the tag. 34 | /// 35 | public readonly ImmutableArray Releases; 36 | /// 37 | /// The unique id assigned to the commit by Gitlab. 38 | /// 39 | public readonly string Target; 40 | 41 | [OutputConstructor] 42 | private GetProjectTagsTagResult( 43 | ImmutableArray commits, 44 | 45 | string message, 46 | 47 | string name, 48 | 49 | bool @protected, 50 | 51 | ImmutableArray releases, 52 | 53 | string target) 54 | { 55 | Commits = commits; 56 | Message = message; 57 | Name = name; 58 | Protected = @protected; 59 | Releases = releases; 60 | Target = target; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectsProjectNamespaceResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectsProjectNamespaceResult 15 | { 16 | /// 17 | /// The full path of the namespace. 18 | /// 19 | public readonly string FullPath; 20 | /// 21 | /// The ID of the namespace. 22 | /// 23 | public readonly int Id; 24 | /// 25 | /// The kind of the namespace. 26 | /// 27 | public readonly string Kind; 28 | /// 29 | /// The name of the namespace. 30 | /// 31 | public readonly string Name; 32 | /// 33 | /// The path of the namespace. 34 | /// 35 | public readonly string Path; 36 | 37 | [OutputConstructor] 38 | private GetProjectsProjectNamespaceResult( 39 | string fullPath, 40 | 41 | int id, 42 | 43 | string kind, 44 | 45 | string name, 46 | 47 | string path) 48 | { 49 | FullPath = fullPath; 50 | Id = id; 51 | Kind = kind; 52 | Name = name; 53 | Path = path; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectsProjectOwnerResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectsProjectOwnerResult 15 | { 16 | /// 17 | /// The avatar url of the owner. 18 | /// 19 | public readonly string AvatarUrl; 20 | /// 21 | /// The ID of the owner. 22 | /// 23 | public readonly int Id; 24 | /// 25 | /// The name of the owner. 26 | /// 27 | public readonly string Name; 28 | /// 29 | /// The state of the owner. 30 | /// 31 | public readonly string State; 32 | /// 33 | /// The username of the owner. 34 | /// 35 | public readonly string Username; 36 | /// 37 | /// The website url of the owner. 38 | /// 39 | public readonly string WebsiteUrl; 40 | 41 | [OutputConstructor] 42 | private GetProjectsProjectOwnerResult( 43 | string avatarUrl, 44 | 45 | int id, 46 | 47 | string name, 48 | 49 | string state, 50 | 51 | string username, 52 | 53 | string websiteUrl) 54 | { 55 | AvatarUrl = avatarUrl; 56 | Id = id; 57 | Name = name; 58 | State = state; 59 | Username = username; 60 | WebsiteUrl = websiteUrl; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectsProjectPermissionResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectsProjectPermissionResult 15 | { 16 | /// 17 | /// Group access level. 18 | /// 19 | public readonly ImmutableDictionary GroupAccess; 20 | /// 21 | /// Project access level. 22 | /// 23 | public readonly ImmutableDictionary ProjectAccess; 24 | 25 | [OutputConstructor] 26 | private GetProjectsProjectPermissionResult( 27 | ImmutableDictionary groupAccess, 28 | 29 | ImmutableDictionary projectAccess) 30 | { 31 | GroupAccess = groupAccess; 32 | ProjectAccess = projectAccess; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetProjectsProjectSharedWithGroupResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetProjectsProjectSharedWithGroupResult 15 | { 16 | /// 17 | /// The group access level. 18 | /// 19 | public readonly string GroupAccessLevel; 20 | /// 21 | /// The group ID. 22 | /// 23 | public readonly int GroupId; 24 | /// 25 | /// The group name. 26 | /// 27 | public readonly string GroupName; 28 | 29 | [OutputConstructor] 30 | private GetProjectsProjectSharedWithGroupResult( 31 | string groupAccessLevel, 32 | 33 | int groupId, 34 | 35 | string groupName) 36 | { 37 | GroupAccessLevel = groupAccessLevel; 38 | GroupId = groupId; 39 | GroupName = groupName; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetReleaseAssetsLinkResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetReleaseAssetsLinkResult 15 | { 16 | /// 17 | /// The ID of the link 18 | /// 19 | public readonly int Id; 20 | /// 21 | /// The type of the link 22 | /// 23 | public readonly string LinkType; 24 | /// 25 | /// The name of the link 26 | /// 27 | public readonly string Name; 28 | /// 29 | /// The URL of the link 30 | /// 31 | public readonly string Url; 32 | 33 | [OutputConstructor] 34 | private GetReleaseAssetsLinkResult( 35 | int id, 36 | 37 | string linkType, 38 | 39 | string name, 40 | 41 | string url) 42 | { 43 | Id = id; 44 | LinkType = linkType; 45 | Name = name; 46 | Url = url; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetReleaseAssetsResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetReleaseAssetsResult 15 | { 16 | /// 17 | /// The number of assets for a release 18 | /// 19 | public readonly int Count; 20 | /// 21 | /// The links for a release 22 | /// 23 | public readonly ImmutableArray Links; 24 | /// 25 | /// The sources for a release 26 | /// 27 | public readonly ImmutableArray Sources; 28 | 29 | [OutputConstructor] 30 | private GetReleaseAssetsResult( 31 | int count, 32 | 33 | ImmutableArray links, 34 | 35 | ImmutableArray sources) 36 | { 37 | Count = count; 38 | Links = links; 39 | Sources = sources; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetReleaseAssetsSourceResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetReleaseAssetsSourceResult 15 | { 16 | /// 17 | /// The format of the source 18 | /// 19 | public readonly string Format; 20 | /// 21 | /// The URL of the source 22 | /// 23 | public readonly string Url; 24 | 25 | [OutputConstructor] 26 | private GetReleaseAssetsSourceResult( 27 | string format, 28 | 29 | string url) 30 | { 31 | Format = format; 32 | Url = url; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GetRepositoryTreeTreeResult.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GetRepositoryTreeTreeResult 15 | { 16 | /// 17 | /// The SHA-1 hash of the tree or blob in the repository. 18 | /// 19 | public readonly string Id; 20 | /// 21 | /// Unix access mode of the file in the repository. 22 | /// 23 | public readonly string Mode; 24 | /// 25 | /// Name of the blob or tree in the repository 26 | /// 27 | public readonly string Name; 28 | /// 29 | /// Path of the object inside of the repository. 30 | /// 31 | public readonly string Path; 32 | /// 33 | /// Type of object in the repository. Can be either type tree or of type blob 34 | /// 35 | public readonly string Type; 36 | 37 | [OutputConstructor] 38 | private GetRepositoryTreeTreeResult( 39 | string id, 40 | 41 | string mode, 42 | 43 | string name, 44 | 45 | string path, 46 | 47 | string type) 48 | { 49 | Id = id; 50 | Mode = mode; 51 | Name = name; 52 | Path = path; 53 | Type = type; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GroupAccessTokenRotationConfiguration.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GroupAccessTokenRotationConfiguration 15 | { 16 | /// 17 | /// The duration (in days) the new token should be valid for. 18 | /// 19 | public readonly int ExpirationDays; 20 | /// 21 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 22 | /// 23 | public readonly int RotateBeforeDays; 24 | 25 | [OutputConstructor] 26 | private GroupAccessTokenRotationConfiguration( 27 | int expirationDays, 28 | 29 | int rotateBeforeDays) 30 | { 31 | ExpirationDays = expirationDays; 32 | RotateBeforeDays = rotateBeforeDays; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GroupDefaultBranchProtectionDefaults.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GroupDefaultBranchProtectionDefaults 15 | { 16 | /// 17 | /// Allow force push for all users with push access. 18 | /// 19 | public readonly bool? AllowForcePush; 20 | /// 21 | /// An array of access levels allowed to merge. Valid values are: `developer`, `maintainer`, `no one`. 22 | /// 23 | public readonly ImmutableArray AllowedToMerges; 24 | /// 25 | /// An array of access levels allowed to push. Valid values are: `developer`, `maintainer`, `no one`. 26 | /// 27 | public readonly ImmutableArray AllowedToPushes; 28 | /// 29 | /// Allow developers to initial push. 30 | /// 31 | public readonly bool? DeveloperCanInitialPush; 32 | 33 | [OutputConstructor] 34 | private GroupDefaultBranchProtectionDefaults( 35 | bool? allowForcePush, 36 | 37 | ImmutableArray allowedToMerges, 38 | 39 | ImmutableArray allowedToPushes, 40 | 41 | bool? developerCanInitialPush) 42 | { 43 | AllowForcePush = allowForcePush; 44 | AllowedToMerges = allowedToMerges; 45 | AllowedToPushes = allowedToPushes; 46 | DeveloperCanInitialPush = developerCanInitialPush; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GroupEpicBoardList.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GroupEpicBoardList 15 | { 16 | /// 17 | /// The ID of the list. 18 | /// 19 | public readonly int? Id; 20 | /// 21 | /// The ID of the label the list should be scoped to. 22 | /// 23 | public readonly int? LabelId; 24 | /// 25 | /// The position of the list within the board. The position for the list is sed on the its position in the `lists` array. 26 | /// 27 | public readonly int? Position; 28 | 29 | [OutputConstructor] 30 | private GroupEpicBoardList( 31 | int? id, 32 | 33 | int? labelId, 34 | 35 | int? position) 36 | { 37 | Id = id; 38 | LabelId = labelId; 39 | Position = position; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GroupHookCustomHeader.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GroupHookCustomHeader 15 | { 16 | /// 17 | /// Key of the custom header. 18 | /// 19 | public readonly string Key; 20 | /// 21 | /// Value of the custom header. This value cannot be imported. 22 | /// 23 | public readonly string Value; 24 | 25 | [OutputConstructor] 26 | private GroupHookCustomHeader( 27 | string key, 28 | 29 | string value) 30 | { 31 | Key = key; 32 | Value = value; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GroupIssueBoardList.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GroupIssueBoardList 15 | { 16 | /// 17 | /// The ID of the list. 18 | /// 19 | public readonly int? Id; 20 | /// 21 | /// The ID of the label the list should be scoped to. 22 | /// 23 | public readonly int? LabelId; 24 | /// 25 | /// The explicit position of the list within the board, zero based. 26 | /// 27 | public readonly int? Position; 28 | 29 | [OutputConstructor] 30 | private GroupIssueBoardList( 31 | int? id, 32 | 33 | int? labelId, 34 | 35 | int? position) 36 | { 37 | Id = id; 38 | LabelId = labelId; 39 | Position = position; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/GroupServiceAccountAccessTokenRotationConfiguration.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class GroupServiceAccountAccessTokenRotationConfiguration 15 | { 16 | /// 17 | /// The duration (in days) the new token should be valid for. 18 | /// 19 | public readonly int? ExpirationDays; 20 | /// 21 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 22 | /// 23 | public readonly int RotateBeforeDays; 24 | 25 | [OutputConstructor] 26 | private GroupServiceAccountAccessTokenRotationConfiguration( 27 | int? expirationDays, 28 | 29 | int rotateBeforeDays) 30 | { 31 | ExpirationDays = expirationDays; 32 | RotateBeforeDays = rotateBeforeDays; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/InstanceServiceAccountTimeouts.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class InstanceServiceAccountTimeouts 15 | { 16 | /// 17 | /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. 18 | /// 19 | public readonly string? Delete; 20 | 21 | [OutputConstructor] 22 | private InstanceServiceAccountTimeouts(string? delete) 23 | { 24 | Delete = delete; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/PersonalAccessTokenRotationConfiguration.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class PersonalAccessTokenRotationConfiguration 15 | { 16 | /// 17 | /// The duration (in days) the new token should be valid for. 18 | /// 19 | public readonly int ExpirationDays; 20 | /// 21 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 22 | /// 23 | public readonly int RotateBeforeDays; 24 | 25 | [OutputConstructor] 26 | private PersonalAccessTokenRotationConfiguration( 27 | int expirationDays, 28 | 29 | int rotateBeforeDays) 30 | { 31 | ExpirationDays = expirationDays; 32 | RotateBeforeDays = rotateBeforeDays; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/ProjectAccessTokenRotationConfiguration.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class ProjectAccessTokenRotationConfiguration 15 | { 16 | /// 17 | /// The duration (in days) the new token should be valid for. 18 | /// 19 | public readonly int ExpirationDays; 20 | /// 21 | /// The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `pulumi up` is run in that timeframe. 22 | /// 23 | public readonly int RotateBeforeDays; 24 | 25 | [OutputConstructor] 26 | private ProjectAccessTokenRotationConfiguration( 27 | int expirationDays, 28 | 29 | int rotateBeforeDays) 30 | { 31 | ExpirationDays = expirationDays; 32 | RotateBeforeDays = rotateBeforeDays; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/ProjectHookCustomHeader.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class ProjectHookCustomHeader 15 | { 16 | /// 17 | /// Key of the custom header. 18 | /// 19 | public readonly string Key; 20 | /// 21 | /// Value of the custom header. This value cannot be imported. 22 | /// 23 | public readonly string Value; 24 | 25 | [OutputConstructor] 26 | private ProjectHookCustomHeader( 27 | string key, 28 | 29 | string value) 30 | { 31 | Key = key; 32 | Value = value; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/ProjectIssueTaskCompletionStatus.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class ProjectIssueTaskCompletionStatus 15 | { 16 | /// 17 | /// The number of tasks that are completed. 18 | /// 19 | public readonly int? CompletedCount; 20 | /// 21 | /// The number of tasks. 22 | /// 23 | public readonly int? Count; 24 | 25 | [OutputConstructor] 26 | private ProjectIssueTaskCompletionStatus( 27 | int? completedCount, 28 | 29 | int? count) 30 | { 31 | CompletedCount = completedCount; 32 | Count = count; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/ProjectTagRelease.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class ProjectTagRelease 15 | { 16 | /// 17 | /// The description of release. 18 | /// 19 | public readonly string? Description; 20 | /// 21 | /// The name of the tag. 22 | /// 23 | public readonly string? TagName; 24 | 25 | [OutputConstructor] 26 | private ProjectTagRelease( 27 | string? description, 28 | 29 | string? tagName) 30 | { 31 | Description = description; 32 | TagName = tagName; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/ReleaseAssets.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class ReleaseAssets 15 | { 16 | /// 17 | /// The total count of assets in this release. 18 | /// 19 | public readonly int? Count; 20 | 21 | [OutputConstructor] 22 | private ReleaseAssets(int? count) 23 | { 24 | Count = count; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/ReleaseAuthor.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class ReleaseAuthor 15 | { 16 | /// 17 | /// The url of the author's' user avatar. 18 | /// 19 | public readonly string? AvatarUrl; 20 | /// 21 | /// The ID of the author's user. 22 | /// 23 | public readonly int? Id; 24 | /// 25 | /// The name of the author. 26 | /// 27 | public readonly string? Name; 28 | /// 29 | /// The state of the author's user. 30 | /// 31 | public readonly string? State; 32 | /// 33 | /// The username of the author. 34 | /// 35 | public readonly string? Username; 36 | /// 37 | /// The url to the author's user profile. 38 | /// 39 | public readonly string? WebUrl; 40 | 41 | [OutputConstructor] 42 | private ReleaseAuthor( 43 | string? avatarUrl, 44 | 45 | int? id, 46 | 47 | string? name, 48 | 49 | string? state, 50 | 51 | string? username, 52 | 53 | string? webUrl) 54 | { 55 | AvatarUrl = avatarUrl; 56 | Id = id; 57 | Name = name; 58 | State = state; 59 | Username = username; 60 | WebUrl = webUrl; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sdk/dotnet/Outputs/TagProtectionAllowedToCreate.cs: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-dotnet. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.Immutable; 7 | using System.Threading.Tasks; 8 | using Pulumi.Serialization; 9 | 10 | namespace Pulumi.GitLab.Outputs 11 | { 12 | 13 | [OutputType] 14 | public sealed class TagProtectionAllowedToCreate 15 | { 16 | /// 17 | /// Access levels allowed to create protected tags. Valid values are: `no one`, `developer`, `maintainer`. 18 | /// 19 | public readonly string? AccessLevel; 20 | /// 21 | /// Readable description of access level. 22 | /// 23 | public readonly string? AccessLevelDescription; 24 | /// 25 | /// The ID of a GitLab group allowed to perform the relevant action. Mutually exclusive with `user_id`. 26 | /// 27 | public readonly int? GroupId; 28 | /// 29 | /// The ID of a GitLab user allowed to perform the relevant action. Mutually exclusive with `group_id`. 30 | /// 31 | public readonly int? UserId; 32 | 33 | [OutputConstructor] 34 | private TagProtectionAllowedToCreate( 35 | string? accessLevel, 36 | 37 | string? accessLevelDescription, 38 | 39 | int? groupId, 40 | 41 | int? userId) 42 | { 43 | AccessLevel = accessLevel; 44 | AccessLevelDescription = accessLevelDescription; 45 | GroupId = groupId; 46 | UserId = userId; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sdk/dotnet/Pulumi.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulumi/pulumi-gitlab/b6877da19cd6eaafa7a04c9387aea9768a1382b1/sdk/dotnet/Pulumi.yaml -------------------------------------------------------------------------------- /sdk/dotnet/README.md: -------------------------------------------------------------------------------- 1 | A Pulumi package for creating and managing GitLab resources. 2 | -------------------------------------------------------------------------------- /sdk/dotnet/go.mod: -------------------------------------------------------------------------------- 1 | module fake_dotnet_module // Exclude this directory from Go tools 2 | 3 | go 1.17 4 | -------------------------------------------------------------------------------- /sdk/dotnet/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulumi/pulumi-gitlab/b6877da19cd6eaafa7a04c9387aea9768a1382b1/sdk/dotnet/logo.png -------------------------------------------------------------------------------- /sdk/dotnet/pulumi-plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "resource": true, 3 | "name": "gitlab", 4 | "version": "8.0.0-alpha.0+dev" 5 | } 6 | -------------------------------------------------------------------------------- /sdk/go/Pulumi.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulumi/pulumi-gitlab/b6877da19cd6eaafa7a04c9387aea9768a1382b1/sdk/go/Pulumi.yaml -------------------------------------------------------------------------------- /sdk/go/gitlab/doc.go: -------------------------------------------------------------------------------- 1 | // A Pulumi package for creating and managing GitLab resources. 2 | package gitlab 3 | -------------------------------------------------------------------------------- /sdk/go/gitlab/internal/pulumiVersion.go: -------------------------------------------------------------------------------- 1 | // Code generated by pulumi-language-go DO NOT EDIT. 2 | // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | package internal 5 | 6 | import ( 7 | "github.com/blang/semver" 8 | ) 9 | 10 | var SdkVersion semver.Version = semver.Version{} 11 | var pluginDownloadURL string = "" 12 | -------------------------------------------------------------------------------- /sdk/go/gitlab/pulumi-plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "resource": true, 3 | "name": "gitlab", 4 | "version": "8.0.0-alpha.0+dev" 5 | } 6 | -------------------------------------------------------------------------------- /sdk/java/README.md: -------------------------------------------------------------------------------- 1 | A Pulumi package for creating and managing GitLab resources. 2 | -------------------------------------------------------------------------------- /sdk/java/go.mod: -------------------------------------------------------------------------------- 1 | module fake_java_module // Exclude this directory from Go tools 2 | 3 | go 1.17 4 | -------------------------------------------------------------------------------- /sdk/java/settings.gradle: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-java-gen. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | pluginManagement { 5 | repositories { 6 | maven { // The google mirror is less flaky than mavenCentral() 7 | url("https://maven-central.storage-download.googleapis.com/maven2/") 8 | } 9 | gradlePluginPortal() 10 | } 11 | } 12 | 13 | rootProject.name = "com.pulumi.gitlab" 14 | include("lib") 15 | -------------------------------------------------------------------------------- /sdk/java/src/main/java/com/pulumi/gitlab/inputs/GetApplicationArgs.java: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-java-gen. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | package com.pulumi.gitlab.inputs; 5 | 6 | import com.pulumi.core.Output; 7 | import com.pulumi.core.annotations.Import; 8 | import com.pulumi.exceptions.MissingRequiredPropertyException; 9 | import java.lang.String; 10 | import java.util.Objects; 11 | 12 | 13 | public final class GetApplicationArgs extends com.pulumi.resources.InvokeArgs { 14 | 15 | public static final GetApplicationArgs Empty = new GetApplicationArgs(); 16 | 17 | @Import(name="id", required=true) 18 | private Output id; 19 | 20 | public Output id() { 21 | return this.id; 22 | } 23 | 24 | private GetApplicationArgs() {} 25 | 26 | private GetApplicationArgs(GetApplicationArgs $) { 27 | this.id = $.id; 28 | } 29 | 30 | public static Builder builder() { 31 | return new Builder(); 32 | } 33 | public static Builder builder(GetApplicationArgs defaults) { 34 | return new Builder(defaults); 35 | } 36 | 37 | public static final class Builder { 38 | private GetApplicationArgs $; 39 | 40 | public Builder() { 41 | $ = new GetApplicationArgs(); 42 | } 43 | 44 | public Builder(GetApplicationArgs defaults) { 45 | $ = new GetApplicationArgs(Objects.requireNonNull(defaults)); 46 | } 47 | 48 | public Builder id(Output id) { 49 | $.id = id; 50 | return this; 51 | } 52 | 53 | public Builder id(String id) { 54 | return id(Output.of(id)); 55 | } 56 | 57 | public GetApplicationArgs build() { 58 | if ($.id == null) { 59 | throw new MissingRequiredPropertyException("GetApplicationArgs", "id"); 60 | } 61 | return $; 62 | } 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /sdk/java/src/main/java/com/pulumi/gitlab/inputs/GetApplicationPlainArgs.java: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-java-gen. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | package com.pulumi.gitlab.inputs; 5 | 6 | import com.pulumi.core.annotations.Import; 7 | import com.pulumi.exceptions.MissingRequiredPropertyException; 8 | import java.lang.String; 9 | import java.util.Objects; 10 | 11 | 12 | public final class GetApplicationPlainArgs extends com.pulumi.resources.InvokeArgs { 13 | 14 | public static final GetApplicationPlainArgs Empty = new GetApplicationPlainArgs(); 15 | 16 | @Import(name="id", required=true) 17 | private String id; 18 | 19 | public String id() { 20 | return this.id; 21 | } 22 | 23 | private GetApplicationPlainArgs() {} 24 | 25 | private GetApplicationPlainArgs(GetApplicationPlainArgs $) { 26 | this.id = $.id; 27 | } 28 | 29 | public static Builder builder() { 30 | return new Builder(); 31 | } 32 | public static Builder builder(GetApplicationPlainArgs defaults) { 33 | return new Builder(defaults); 34 | } 35 | 36 | public static final class Builder { 37 | private GetApplicationPlainArgs $; 38 | 39 | public Builder() { 40 | $ = new GetApplicationPlainArgs(); 41 | } 42 | 43 | public Builder(GetApplicationPlainArgs defaults) { 44 | $ = new GetApplicationPlainArgs(Objects.requireNonNull(defaults)); 45 | } 46 | 47 | public Builder id(String id) { 48 | $.id = id; 49 | return this; 50 | } 51 | 52 | public GetApplicationPlainArgs build() { 53 | if ($.id == null) { 54 | throw new MissingRequiredPropertyException("GetApplicationPlainArgs", "id"); 55 | } 56 | return $; 57 | } 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /sdk/java/src/main/java/com/pulumi/gitlab/outputs/ReleaseAssets.java: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-java-gen. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | package com.pulumi.gitlab.outputs; 5 | 6 | import com.pulumi.core.annotations.CustomType; 7 | import java.lang.Integer; 8 | import java.util.Objects; 9 | import java.util.Optional; 10 | import javax.annotation.Nullable; 11 | 12 | @CustomType 13 | public final class ReleaseAssets { 14 | /** 15 | * @return The total count of assets in this release. 16 | * 17 | */ 18 | private @Nullable Integer count; 19 | 20 | private ReleaseAssets() {} 21 | /** 22 | * @return The total count of assets in this release. 23 | * 24 | */ 25 | public Optional count() { 26 | return Optional.ofNullable(this.count); 27 | } 28 | 29 | public static Builder builder() { 30 | return new Builder(); 31 | } 32 | 33 | public static Builder builder(ReleaseAssets defaults) { 34 | return new Builder(defaults); 35 | } 36 | @CustomType.Builder 37 | public static final class Builder { 38 | private @Nullable Integer count; 39 | public Builder() {} 40 | public Builder(ReleaseAssets defaults) { 41 | Objects.requireNonNull(defaults); 42 | this.count = defaults.count; 43 | } 44 | 45 | @CustomType.Setter 46 | public Builder count(@Nullable Integer count) { 47 | 48 | this.count = count; 49 | return this; 50 | } 51 | public ReleaseAssets build() { 52 | final var _resultValue = new ReleaseAssets(); 53 | _resultValue.count = count; 54 | return _resultValue; 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /sdk/nodejs/Pulumi.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulumi/pulumi-gitlab/b6877da19cd6eaafa7a04c9387aea9768a1382b1/sdk/nodejs/Pulumi.yaml -------------------------------------------------------------------------------- /sdk/nodejs/README.md: -------------------------------------------------------------------------------- 1 | > This provider is a derived work of the [Terraform Provider](https://github.com/gitlabhq/terraform-provider-gitlab) 2 | > distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, 3 | > first check the [`pulumi-gitlab` repo](https://github.com/pulumi/pulumi-gitlab/issues); however, if that doesn't turn up anything, 4 | > please consult the source [`terraform-provider-gitlab` repo](https://github.com/gitlabhq/terraform-provider-gitlab/issues). 5 | -------------------------------------------------------------------------------- /sdk/nodejs/config/index.ts: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-nodejs. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | // Export members: 5 | export * from "./vars"; 6 | -------------------------------------------------------------------------------- /sdk/nodejs/go.mod: -------------------------------------------------------------------------------- 1 | module fake_nodejs_module // Exclude this directory from Go tools 2 | 3 | go 1.17 4 | -------------------------------------------------------------------------------- /sdk/nodejs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@pulumi/gitlab", 3 | "version": "8.0.0-alpha.0+dev", 4 | "description": "A Pulumi package for creating and managing GitLab resources.", 5 | "keywords": [ 6 | "pulumi", 7 | "gitlab" 8 | ], 9 | "homepage": "https://pulumi.io", 10 | "repository": "https://github.com/pulumi/pulumi-gitlab", 11 | "license": "Apache-2.0", 12 | "scripts": { 13 | "build": "tsc" 14 | }, 15 | "dependencies": { 16 | "@pulumi/pulumi": "^3.142.0" 17 | }, 18 | "devDependencies": { 19 | "@types/node": "^10.0.0", 20 | "typescript": "^4.3.5" 21 | }, 22 | "pulumi": { 23 | "resource": true, 24 | "name": "gitlab", 25 | "version": "8.0.0-alpha.0+dev" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /sdk/nodejs/types/index.ts: -------------------------------------------------------------------------------- 1 | // *** WARNING: this file was generated by pulumi-language-nodejs. *** 2 | // *** Do not edit by hand unless you're certain you know what you are doing! *** 3 | 4 | import * as utilities from "../utilities"; 5 | 6 | // Export sub-modules: 7 | import * as input from "./input"; 8 | import * as output from "./output"; 9 | 10 | export { 11 | input, 12 | output, 13 | }; 14 | -------------------------------------------------------------------------------- /sdk/python/Pulumi.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulumi/pulumi-gitlab/b6877da19cd6eaafa7a04c9387aea9768a1382b1/sdk/python/Pulumi.yaml -------------------------------------------------------------------------------- /sdk/python/go.mod: -------------------------------------------------------------------------------- 1 | module fake_python_module // Exclude this directory from Go tools 2 | 3 | go 1.17 4 | -------------------------------------------------------------------------------- /sdk/python/pulumi_gitlab/README.md: -------------------------------------------------------------------------------- 1 | > This provider is a derived work of the [Terraform Provider](https://github.com/gitlabhq/terraform-provider-gitlab) 2 | > distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, 3 | > first check the [`pulumi-gitlab` repo](https://github.com/pulumi/pulumi-gitlab/issues); however, if that doesn't turn up anything, 4 | > please consult the source [`terraform-provider-gitlab` repo](https://github.com/gitlabhq/terraform-provider-gitlab/issues). -------------------------------------------------------------------------------- /sdk/python/pulumi_gitlab/config/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | # *** WARNING: this file was generated by pulumi-language-python. *** 3 | # *** Do not edit by hand unless you're certain you know what you are doing! *** 4 | 5 | import builtins 6 | import sys 7 | from .vars import _ExportableConfig 8 | 9 | sys.modules[__name__].__class__ = _ExportableConfig 10 | -------------------------------------------------------------------------------- /sdk/python/pulumi_gitlab/pulumi-plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "resource": true, 3 | "name": "gitlab", 4 | "version": "8.0.0-alpha.0+dev" 5 | } 6 | -------------------------------------------------------------------------------- /sdk/python/pulumi_gitlab/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulumi/pulumi-gitlab/b6877da19cd6eaafa7a04c9387aea9768a1382b1/sdk/python/pulumi_gitlab/py.typed -------------------------------------------------------------------------------- /sdk/python/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "pulumi_gitlab" 3 | description = "A Pulumi package for creating and managing GitLab resources." 4 | dependencies = ["parver>=0.2.1", "pulumi>=3.165.0,<4.0.0", "semver>=2.8.1", "typing-extensions>=4.11,<5; python_version < \"3.11\""] 5 | keywords = ["pulumi", "gitlab"] 6 | readme = "README.md" 7 | requires-python = ">=3.9" 8 | version = "8.0.0a0+dev" 9 | [project.license] 10 | text = "Apache-2.0" 11 | [project.urls] 12 | Homepage = "https://pulumi.io" 13 | Repository = "https://github.com/pulumi/pulumi-gitlab" 14 | 15 | [build-system] 16 | requires = ["setuptools>=61.0"] 17 | build-backend = "setuptools.build_meta" 18 | 19 | [tool] 20 | [tool.setuptools] 21 | [tool.setuptools.package-data] 22 | pulumi_gitlab = ["py.typed", "pulumi-plugin.json"] 23 | --------------------------------------------------------------------------------