diff --git a/.ci-mgmt.yaml b/.ci-mgmt.yaml index 568dfa69..5728150c 100644 --- a/.ci-mgmt.yaml +++ b/.ci-mgmt.yaml @@ -1,5 +1,5 @@ provider: gitlab -major-version: 7 +major-version: 8 upstreamProviderOrg: gitlabhq env: PULUMI_GITLAB_TOKEN: ${{ secrets.PULUMI_GITLAB_TOKEN }} diff --git a/.github/workflows/command-dispatch.yml b/.github/workflows/command-dispatch.yml index 8b510f39..369ece48 100644 --- a/.github/workflows/command-dispatch.yml +++ b/.github/workflows/command-dispatch.yml @@ -29,6 +29,7 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi TRAVIS_OS_NAME: linux + VERSION_PREFIX: 8.0.0 jobs: command-dispatch-for-testing: name: command-dispatch-for-testing diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml index cfe96cf3..bb492109 100644 --- a/.github/workflows/license.yml +++ b/.github/workflows/license.yml @@ -35,6 +35,7 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi TRAVIS_OS_NAME: linux + VERSION_PREFIX: 8.0.0 jobs: license_check: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index fb9c4603..3bbb7f08 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -34,6 +34,7 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi TRAVIS_OS_NAME: linux + VERSION_PREFIX: 8.0.0 jobs: lint: diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 22e4277b..3b61d7d8 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -29,6 +29,7 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi TRAVIS_OS_NAME: linux + VERSION_PREFIX: 8.0.0 jobs: build_sdk: name: build_sdk diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 2bbd7d9a..8704e146 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -30,6 +30,7 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi TRAVIS_OS_NAME: linux + VERSION_PREFIX: 8.0.0 jobs: build_sdk: name: build_sdk diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 307a3650..b452102e 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -29,6 +29,7 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi TRAVIS_OS_NAME: linux + VERSION_PREFIX: 8.0.0 jobs: comment-on-pr: if: github.event.pull_request.head.repo.full_name != github.repository diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 98f8d568..64a9977f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,6 +29,7 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi TRAVIS_OS_NAME: linux + VERSION_PREFIX: 8.0.0 jobs: build_sdk: name: build_sdk diff --git a/.github/workflows/resync-build.yml b/.github/workflows/resync-build.yml index 2e27bf15..eb8a206a 100644 --- a/.github/workflows/resync-build.yml +++ b/.github/workflows/resync-build.yml @@ -31,6 +31,7 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi TRAVIS_OS_NAME: linux + VERSION_PREFIX: 8.0.0 jobs: resync_build: name: resync-build diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml index 9dd96151..7ab4f257 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -30,6 +30,7 @@ env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} TF_APPEND_USER_AGENT: pulumi TRAVIS_OS_NAME: linux + VERSION_PREFIX: 8.0.0 # This should cancel any previous runs of the same workflow on the same branch which are still running. concurrency: diff --git a/.goreleaser.prerelease.yml b/.goreleaser.prerelease.yml index f6710d06..ff146923 100644 --- a/.goreleaser.prerelease.yml +++ b/.goreleaser.prerelease.yml @@ -32,7 +32,7 @@ builds: - env GOOS={{ .Os }} GOARCH={{ .Arch }} go clean -modcache ignore: [] ldflags: - - -X github.com/pulumi/pulumi-gitlab/provider/v7/pkg/version.Version={{.Tag}} + - -X github.com/pulumi/pulumi-gitlab/provider/v8/pkg/version.Version={{.Tag}} main: ./cmd/pulumi-resource-gitlab/ changelog: skip: true diff --git a/.goreleaser.yml b/.goreleaser.yml index acc540cd..5a7e85d0 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -32,7 +32,7 @@ builds: - env GOOS={{ .Os }} GOARCH={{ .Arch }} go clean -modcache ignore: [] ldflags: - - -X github.com/pulumi/pulumi-gitlab/provider/v7/pkg/version.Version={{.Tag}} + - -X github.com/pulumi/pulumi-gitlab/provider/v8/pkg/version.Version={{.Tag}} main: ./cmd/pulumi-resource-gitlab/ changelog: filters: diff --git a/Makefile b/Makefile index 2dfd2567..dad5e13a 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ PACK := gitlab ORG := pulumi PROJECT := github.com/$(ORG)/pulumi-$(PACK) -PROVIDER_PATH := provider/v7 +PROVIDER_PATH := provider/v8 VERSION_PATH := $(PROVIDER_PATH)/pkg/version.Version TFGEN := pulumi-tfgen-$(PACK) PROVIDER := pulumi-resource-$(PACK) @@ -14,7 +14,7 @@ PULUMI_CONVERT := 1 # Override during CI using `make [TARGET] PROVIDER_VERSION=""` or by setting a PROVIDER_VERSION environment variable # Local & branch builds will just used this fixed default version unless specified -PROVIDER_VERSION ?= 7.0.0-alpha.0+dev +PROVIDER_VERSION = 8.0.0 # Use this normalised version everywhere rather than the raw input to ensure consistency. VERSION_GENERIC = $(shell pulumictl convert-version --language generic --version "$(PROVIDER_VERSION)") diff --git a/provider/cmd/pulumi-resource-gitlab/bridge-metadata.json b/provider/cmd/pulumi-resource-gitlab/bridge-metadata.json index 296aeb2e..cd8a5e76 100644 --- a/provider/cmd/pulumi-resource-gitlab/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-gitlab/bridge-metadata.json @@ -3,7 +3,7 @@ "resources": { "gitlab_application": { "current": "gitlab:index/application:Application", - "majorVersion": 7, + "majorVersion": 8, "fields": { "scopes": { "maxItemsOne": false @@ -12,7 +12,7 @@ }, "gitlab_application_settings": { "current": "gitlab:index/applicationSettings:ApplicationSettings", - "majorVersion": 7, + "majorVersion": 8, "fields": { "asset_proxy_allowlist": { "maxItemsOne": false @@ -54,7 +54,7 @@ }, "gitlab_branch": { "current": "gitlab:index/branch:Branch", - "majorVersion": 7, + "majorVersion": 8, "fields": { "commit": { "maxItemsOne": false, @@ -70,7 +70,7 @@ }, "gitlab_branch_protection": { "current": "gitlab:index/branchProtection:BranchProtection", - "majorVersion": 7, + "majorVersion": 8, "fields": { "allowed_to_merge": { "maxItemsOne": false @@ -85,27 +85,27 @@ }, "gitlab_cluster_agent": { "current": "gitlab:index/clusterAgent:ClusterAgent", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_cluster_agent_token": { "current": "gitlab:index/clusterAgentToken:ClusterAgentToken", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_compliance_framework": { "current": "gitlab:index/complianceFramework:ComplianceFramework", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_deploy_key": { "current": "gitlab:index/deployKey:DeployKey", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_deploy_key_enable": { "current": "gitlab:index/deployKeyEnable:DeployKeyEnable", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_deploy_token": { "current": "gitlab:index/deployToken:DeployToken", - "majorVersion": 7, + "majorVersion": 8, "fields": { "scopes": { "maxItemsOne": false @@ -114,11 +114,11 @@ }, "gitlab_global_level_notifications": { "current": "gitlab:index/globalLevelNotifications:GlobalLevelNotifications", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group": { "current": "gitlab:index/group:Group", - "majorVersion": 7, + "majorVersion": 8, "fields": { "ip_restriction_ranges": { "maxItemsOne": false @@ -130,7 +130,7 @@ }, "gitlab_group_access_token": { "current": "gitlab:index/groupAccessToken:GroupAccessToken", - "majorVersion": 7, + "majorVersion": 8, "fields": { "scopes": { "maxItemsOne": false @@ -139,19 +139,19 @@ }, "gitlab_group_badge": { "current": "gitlab:index/groupBadge:GroupBadge", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_cluster": { "current": "gitlab:index/groupCluster:GroupCluster", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_custom_attribute": { "current": "gitlab:index/groupCustomAttribute:GroupCustomAttribute", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_epic_board": { "current": "gitlab:index/groupEpicBoard:GroupEpicBoard", - "majorVersion": 7, + "majorVersion": 8, "fields": { "lists": { "maxItemsOne": false @@ -160,11 +160,11 @@ }, "gitlab_group_hook": { "current": "gitlab:index/groupHook:GroupHook", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_issue_board": { "current": "gitlab:index/groupIssueBoard:GroupIssueBoard", - "majorVersion": 7, + "majorVersion": 8, "fields": { "labels": { "maxItemsOne": false @@ -176,23 +176,23 @@ }, "gitlab_group_label": { "current": "gitlab:index/groupLabel:GroupLabel", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_ldap_link": { "current": "gitlab:index/groupLdapLink:GroupLdapLink", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_membership": { "current": "gitlab:index/groupMembership:GroupMembership", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_project_file_template": { "current": "gitlab:index/groupProjectFileTemplate:GroupProjectFileTemplate", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_protected_environment": { "current": "gitlab:index/groupProtectedEnvironment:GroupProtectedEnvironment", - "majorVersion": 7, + "majorVersion": 8, "fields": { "approval_rules": { "maxItemsOne": false @@ -204,55 +204,59 @@ }, "gitlab_group_saml_link": { "current": "gitlab:index/groupSamlLink:GroupSamlLink", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_share_group": { "current": "gitlab:index/groupShareGroup:GroupShareGroup", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_variable": { "current": "gitlab:index/groupVariable:GroupVariable", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_instance_cluster": { "current": "gitlab:index/instanceCluster:InstanceCluster", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_instance_variable": { "current": "gitlab:index/instanceVariable:InstanceVariable", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_integration_custom_issue_tracker": { "current": "gitlab:index/integrationCustomIssueTracker:IntegrationCustomIssueTracker", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_integration_emails_on_push": { "current": "gitlab:index/integrationEmailsOnPush:IntegrationEmailsOnPush", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_integration_external_wiki": { "current": "gitlab:index/integrationExternalWiki:IntegrationExternalWiki", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_integration_github": { "current": "gitlab:index/integrationGithub:IntegrationGithub", - "majorVersion": 7 + "majorVersion": 8 + }, + "gitlab_integration_jenkins": { + "current": "gitlab:index/integrationJenkins:IntegrationJenkins", + "majorVersion": 8 }, "gitlab_integration_jira": { "current": "gitlab:index/integrationJira:IntegrationJira", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_integration_mattermost": { "current": "gitlab:index/integrationMattermost:IntegrationMattermost", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_integration_microsoft_teams": { "current": "gitlab:index/integrationMicrosoftTeams:IntegrationMicrosoftTeams", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_integration_pipelines_email": { "current": "gitlab:index/integrationPipelinesEmail:IntegrationPipelinesEmail", - "majorVersion": 7, + "majorVersion": 8, "fields": { "recipients": { "maxItemsOne": false @@ -261,19 +265,19 @@ }, "gitlab_integration_slack": { "current": "gitlab:index/integrationSlack:IntegrationSlack", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_label": { "current": "gitlab:index/label:Label", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_pages_domain": { "current": "gitlab:index/pagesDomain:PagesDomain", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_personal_access_token": { "current": "gitlab:index/personalAccessToken:PersonalAccessToken", - "majorVersion": 7, + "majorVersion": 8, "fields": { "scopes": { "maxItemsOne": false @@ -282,19 +286,19 @@ }, "gitlab_pipeline_schedule": { "current": "gitlab:index/pipelineSchedule:PipelineSchedule", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_pipeline_schedule_variable": { "current": "gitlab:index/pipelineScheduleVariable:PipelineScheduleVariable", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_pipeline_trigger": { "current": "gitlab:index/pipelineTrigger:PipelineTrigger", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project": { "current": "gitlab:index/project:Project", - "majorVersion": 7, + "majorVersion": 8, "fields": { "container_expiration_policy": { "maxItemsOne": true @@ -312,7 +316,7 @@ }, "gitlab_project_access_token": { "current": "gitlab:index/projectAccessToken:ProjectAccessToken", - "majorVersion": 7, + "majorVersion": 8, "fields": { "scopes": { "maxItemsOne": false @@ -321,7 +325,7 @@ }, "gitlab_project_approval_rule": { "current": "gitlab:index/projectApprovalRule:ProjectApprovalRule", - "majorVersion": 7, + "majorVersion": 8, "fields": { "group_ids": { "maxItemsOne": false @@ -336,35 +340,35 @@ }, "gitlab_project_badge": { "current": "gitlab:index/projectBadge:ProjectBadge", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_cluster": { "current": "gitlab:index/projectCluster:ProjectCluster", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_compliance_framework": { "current": "gitlab:index/projectComplianceFramework:ProjectComplianceFramework", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_custom_attribute": { "current": "gitlab:index/projectCustomAttribute:ProjectCustomAttribute", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_environment": { "current": "gitlab:index/projectEnvironment:ProjectEnvironment", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_freeze_period": { "current": "gitlab:index/projectFreezePeriod:ProjectFreezePeriod", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_hook": { "current": "gitlab:index/projectHook:ProjectHook", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_issue": { "current": "gitlab:index/projectIssue:ProjectIssue", - "majorVersion": 7, + "majorVersion": 8, "fields": { "assignee_ids": { "maxItemsOne": false @@ -379,7 +383,7 @@ }, "gitlab_project_issue_board": { "current": "gitlab:index/projectIssueBoard:ProjectIssueBoard", - "majorVersion": 7, + "majorVersion": 8, "fields": { "labels": { "maxItemsOne": false @@ -391,35 +395,44 @@ }, "gitlab_project_job_token_scope": { "current": "gitlab:index/projectJobTokenScope:ProjectJobTokenScope", - "majorVersion": 7 + "majorVersion": 8 + }, + "gitlab_project_job_token_scopes": { + "current": "gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes", + "majorVersion": 8, + "fields": { + "target_project_ids": { + "maxItemsOne": false + } + } }, "gitlab_project_label": { "current": "gitlab:index/projectLabel:ProjectLabel", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_level_mr_approvals": { "current": "gitlab:index/projectLevelMrApprovals:ProjectLevelMrApprovals", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_level_notifications": { "current": "gitlab:index/projectLevelNotifications:ProjectLevelNotifications", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_membership": { "current": "gitlab:index/projectMembership:ProjectMembership", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_milestone": { "current": "gitlab:index/projectMilestone:ProjectMilestone", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_mirror": { "current": "gitlab:index/projectMirror:ProjectMirror", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_protected_environment": { "current": "gitlab:index/projectProtectedEnvironment:ProjectProtectedEnvironment", - "majorVersion": 7, + "majorVersion": 8, "fields": { "approval_rules": { "maxItemsOne": false @@ -429,17 +442,21 @@ } } }, + "gitlab_project_push_rules": { + "current": "gitlab:index/projectPushRules:ProjectPushRules", + "majorVersion": 8 + }, "gitlab_project_runner_enablement": { "current": "gitlab:index/projectRunnerEnablement:ProjectRunnerEnablement", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_share_group": { "current": "gitlab:index/projectShareGroup:ProjectShareGroup", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_tag": { "current": "gitlab:index/projectTag:ProjectTag", - "majorVersion": 7, + "majorVersion": 8, "fields": { "commit": { "maxItemsOne": false, @@ -458,19 +475,19 @@ }, "gitlab_project_variable": { "current": "gitlab:index/projectVariable:ProjectVariable", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_release_link": { "current": "gitlab:index/releaseLink:ReleaseLink", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_repository_file": { "current": "gitlab:index/repositoryFile:RepositoryFile", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_runner": { "current": "gitlab:index/runner:Runner", - "majorVersion": 7, + "majorVersion": 8, "fields": { "tag_list": { "maxItemsOne": false @@ -479,31 +496,31 @@ }, "gitlab_service_custom_issue_tracker": { "current": "gitlab:index/serviceCustomIssueTracker:ServiceCustomIssueTracker", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_service_emails_on_push": { "current": "gitlab:index/serviceEmailsOnPush:ServiceEmailsOnPush", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_service_external_wiki": { "current": "gitlab:index/serviceExternalWiki:ServiceExternalWiki", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_service_github": { "current": "gitlab:index/serviceGithub:ServiceGithub", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_service_jira": { "current": "gitlab:index/serviceJira:ServiceJira", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_service_microsoft_teams": { "current": "gitlab:index/serviceMicrosoftTeams:ServiceMicrosoftTeams", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_service_pipelines_email": { "current": "gitlab:index/servicePipelinesEmail:ServicePipelinesEmail", - "majorVersion": 7, + "majorVersion": 8, "fields": { "recipients": { "maxItemsOne": false @@ -512,15 +529,15 @@ }, "gitlab_service_slack": { "current": "gitlab:index/serviceSlack:ServiceSlack", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_system_hook": { "current": "gitlab:index/systemHook:SystemHook", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_tag_protection": { "current": "gitlab:index/tagProtection:TagProtection", - "majorVersion": 7, + "majorVersion": 8, "fields": { "allowed_to_create": { "maxItemsOne": false @@ -529,23 +546,23 @@ }, "gitlab_topic": { "current": "gitlab:index/topic:Topic", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_user": { "current": "gitlab:index/user:User", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_user_custom_attribute": { "current": "gitlab:index/userCustomAttribute:UserCustomAttribute", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_user_gpgkey": { "current": "gitlab:index/userGpgKey:UserGpgKey", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_user_runner": { "current": "gitlab:index/userRunner:UserRunner", - "majorVersion": 7, + "majorVersion": 8, "fields": { "tag_list": { "maxItemsOne": false @@ -554,17 +571,17 @@ }, "gitlab_user_sshkey": { "current": "gitlab:index/userSshKey:UserSshKey", - "majorVersion": 7 + "majorVersion": 8 } }, "datasources": { "gitlab_application": { "current": "gitlab:index/getApplication:getApplication", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_branch": { "current": "gitlab:index/getBranch:getBranch", - "majorVersion": 7, + "majorVersion": 8, "fields": { "commit": { "maxItemsOne": false, @@ -580,11 +597,11 @@ }, "gitlab_cluster_agent": { "current": "gitlab:index/getClusterAgent:getClusterAgent", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_cluster_agents": { "current": "gitlab:index/getClusterAgents:getClusterAgents", - "majorVersion": 7, + "majorVersion": 8, "fields": { "cluster_agents": { "maxItemsOne": false @@ -593,15 +610,15 @@ }, "gitlab_compliance_framework": { "current": "gitlab:index/getComplianceFramework:getComplianceFramework", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_current_user": { "current": "gitlab:index/getCurrentUser:getCurrentUser", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group": { "current": "gitlab:index/getGroup:getGroup", - "majorVersion": 7, + "majorVersion": 8, "fields": { "shared_with_groups": { "maxItemsOne": false @@ -610,11 +627,11 @@ }, "gitlab_group_hook": { "current": "gitlab:index/getGroupHook:getGroupHook", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_hooks": { "current": "gitlab:index/getGroupHooks:getGroupHooks", - "majorVersion": 7, + "majorVersion": 8, "fields": { "hooks": { "maxItemsOne": false @@ -623,7 +640,7 @@ }, "gitlab_group_membership": { "current": "gitlab:index/getGroupMembership:getGroupMembership", - "majorVersion": 7, + "majorVersion": 8, "fields": { "members": { "maxItemsOne": false @@ -632,7 +649,7 @@ }, "gitlab_group_subgroups": { "current": "gitlab:index/getGroupSubgroups:getGroupSubgroups", - "majorVersion": 7, + "majorVersion": 8, "fields": { "skip_groups": { "maxItemsOne": false @@ -644,11 +661,11 @@ }, "gitlab_group_variable": { "current": "gitlab:index/getGroupVariable:getGroupVariable", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_group_variables": { "current": "gitlab:index/getGroupVariables:getGroupVariables", - "majorVersion": 7, + "majorVersion": 8, "fields": { "variables": { "maxItemsOne": false @@ -657,7 +674,7 @@ }, "gitlab_groups": { "current": "gitlab:index/getGroups:getGroups", - "majorVersion": 7, + "majorVersion": 8, "fields": { "groups": { "maxItemsOne": false @@ -666,7 +683,7 @@ }, "gitlab_instance_deploy_keys": { "current": "gitlab:index/getInstanceDeployKeys:getInstanceDeployKeys", - "majorVersion": 7, + "majorVersion": 8, "fields": { "deploy_keys": { "maxItemsOne": false, @@ -682,11 +699,11 @@ }, "gitlab_instance_variable": { "current": "gitlab:index/getInstanceVariable:getInstanceVariable", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_instance_variables": { "current": "gitlab:index/getInstanceVariables:getInstanceVariables", - "majorVersion": 7, + "majorVersion": 8, "fields": { "variables": { "maxItemsOne": false @@ -695,11 +712,11 @@ }, "gitlab_metadata": { "current": "gitlab:index/getMetadata:getMetadata", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project": { "current": "gitlab:index/getProject:getProject", - "majorVersion": 7, + "majorVersion": 8, "fields": { "container_expiration_policy": { "maxItemsOne": false @@ -717,7 +734,7 @@ }, "gitlab_project_branches": { "current": "gitlab:index/getProjectBranches:getProjectBranches", - "majorVersion": 7, + "majorVersion": 8, "fields": { "branches": { "maxItemsOne": false, @@ -740,11 +757,11 @@ }, "gitlab_project_hook": { "current": "gitlab:index/getProjectHook:getProjectHook", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_hooks": { "current": "gitlab:index/getProjectHooks:getProjectHooks", - "majorVersion": 7, + "majorVersion": 8, "fields": { "hooks": { "maxItemsOne": false @@ -753,7 +770,7 @@ }, "gitlab_project_issue": { "current": "gitlab:index/getProjectIssue:getProjectIssue", - "majorVersion": 7, + "majorVersion": 8, "fields": { "assignee_ids": { "maxItemsOne": false @@ -768,7 +785,7 @@ }, "gitlab_project_issues": { "current": "gitlab:index/getProjectIssues:getProjectIssues", - "majorVersion": 7, + "majorVersion": 8, "fields": { "iids": { "maxItemsOne": false @@ -808,7 +825,7 @@ }, "gitlab_project_membership": { "current": "gitlab:index/getProjectMembership:getProjectMembership", - "majorVersion": 7, + "majorVersion": 8, "fields": { "members": { "maxItemsOne": false @@ -817,11 +834,11 @@ }, "gitlab_project_milestone": { "current": "gitlab:index/getProjectMilestone:getProjectMilestone", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_milestones": { "current": "gitlab:index/getProjectMilestones:getProjectMilestones", - "majorVersion": 7, + "majorVersion": 8, "fields": { "iids": { "maxItemsOne": false @@ -833,7 +850,7 @@ }, "gitlab_project_protected_branch": { "current": "gitlab:index/getProjectProtectedBranch:getProjectProtectedBranch", - "majorVersion": 7, + "majorVersion": 8, "fields": { "merge_access_levels": { "maxItemsOne": false @@ -845,7 +862,7 @@ }, "gitlab_project_protected_branches": { "current": "gitlab:index/getProjectProtectedBranches:getProjectProtectedBranches", - "majorVersion": 7, + "majorVersion": 8, "fields": { "protected_branches": { "maxItemsOne": false, @@ -864,7 +881,7 @@ }, "gitlab_project_tag": { "current": "gitlab:index/getProjectTag:getProjectTag", - "majorVersion": 7, + "majorVersion": 8, "fields": { "commit": { "maxItemsOne": false, @@ -883,7 +900,7 @@ }, "gitlab_project_tags": { "current": "gitlab:index/getProjectTags:getProjectTags", - "majorVersion": 7, + "majorVersion": 8, "fields": { "tags": { "maxItemsOne": false, @@ -909,11 +926,11 @@ }, "gitlab_project_variable": { "current": "gitlab:index/getProjectVariable:getProjectVariable", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_project_variables": { "current": "gitlab:index/getProjectVariables:getProjectVariables", - "majorVersion": 7, + "majorVersion": 8, "fields": { "variables": { "maxItemsOne": false @@ -922,7 +939,7 @@ }, "gitlab_projects": { "current": "gitlab:index/getProjects:getProjects", - "majorVersion": 7, + "majorVersion": 8, "fields": { "projects": { "maxItemsOne": false, @@ -965,7 +982,7 @@ }, "gitlab_release": { "current": "gitlab:index/getRelease:getRelease", - "majorVersion": 7, + "majorVersion": 8, "fields": { "assets": { "fields": { @@ -981,11 +998,11 @@ }, "gitlab_release_link": { "current": "gitlab:index/getReleaseLink:getReleaseLink", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_release_links": { "current": "gitlab:index/getReleaseLinks:getReleaseLinks", - "majorVersion": 7, + "majorVersion": 8, "fields": { "release_links": { "maxItemsOne": false @@ -994,11 +1011,11 @@ }, "gitlab_repository_file": { "current": "gitlab:index/getRepositoryFile:getRepositoryFile", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_repository_tree": { "current": "gitlab:index/getRepositoryTree:getRepositoryTree", - "majorVersion": 7, + "majorVersion": 8, "fields": { "tree": { "maxItemsOne": false @@ -1007,11 +1024,11 @@ }, "gitlab_user": { "current": "gitlab:index/getUser:getUser", - "majorVersion": 7 + "majorVersion": 8 }, "gitlab_user_sshkeys": { "current": "gitlab:index/getUserSshkeys:getUserSshkeys", - "majorVersion": 7, + "majorVersion": 8, "fields": { "keys": { "maxItemsOne": false @@ -1020,7 +1037,7 @@ }, "gitlab_users": { "current": "gitlab:index/getUsers:getUsers", - "majorVersion": 7, + "majorVersion": 8, "fields": { "users": { "maxItemsOne": false @@ -1065,6 +1082,7 @@ "gitlab:index/integrationEmailsOnPush:IntegrationEmailsOnPush": 0, "gitlab:index/integrationExternalWiki:IntegrationExternalWiki": 0, "gitlab:index/integrationGithub:IntegrationGithub": 0, + "gitlab:index/integrationJenkins:IntegrationJenkins": 1, "gitlab:index/integrationJira:IntegrationJira": 0, "gitlab:index/integrationMattermost:IntegrationMattermost": 0, "gitlab:index/integrationMicrosoftTeams:IntegrationMicrosoftTeams": 0, @@ -1089,6 +1107,7 @@ "gitlab:index/projectIssue:ProjectIssue": 0, "gitlab:index/projectIssueBoard:ProjectIssueBoard": 0, "gitlab:index/projectJobTokenScope:ProjectJobTokenScope": 1, + "gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes": 1, "gitlab:index/projectLabel:ProjectLabel": 0, "gitlab:index/projectLevelMrApprovals:ProjectLevelMrApprovals": 1, "gitlab:index/projectLevelNotifications:ProjectLevelNotifications": 1, @@ -1096,6 +1115,7 @@ "gitlab:index/projectMilestone:ProjectMilestone": 0, "gitlab:index/projectMirror:ProjectMirror": 0, "gitlab:index/projectProtectedEnvironment:ProjectProtectedEnvironment": 1, + "gitlab:index/projectPushRules:ProjectPushRules": 1, "gitlab:index/projectRunnerEnablement:ProjectRunnerEnablement": 0, "gitlab:index/projectShareGroup:ProjectShareGroup": 0, "gitlab:index/projectTag:ProjectTag": 0, diff --git a/provider/cmd/pulumi-resource-gitlab/main.go b/provider/cmd/pulumi-resource-gitlab/main.go index cc30bf27..8e685e04 100644 --- a/provider/cmd/pulumi-resource-gitlab/main.go +++ b/provider/cmd/pulumi-resource-gitlab/main.go @@ -23,7 +23,7 @@ import ( "github.com/pulumi/pulumi-terraform-bridge/pf/tfbridge" - gitlab "github.com/pulumi/pulumi-gitlab/provider/v7" + gitlab "github.com/pulumi/pulumi-gitlab/provider/v8" ) //go:embed schema-embed.json diff --git a/provider/cmd/pulumi-resource-gitlab/schema.json b/provider/cmd/pulumi-resource-gitlab/schema.json index 340daea0..5b28a41f 100644 --- a/provider/cmd/pulumi-resource-gitlab/schema.json +++ b/provider/cmd/pulumi-resource-gitlab/schema.json @@ -24,7 +24,7 @@ "respectSchemaVersion": true }, "go": { - "importBasePath": "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab", + "importBasePath": "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab", "generateResourceContainerTypes": true, "generateExtraInputTypes": true, "respectSchemaVersion": true @@ -408,6 +408,10 @@ "type": "boolean", "description": "Only commits pushed using verified emails are allowed. **Note** This attribute is only supported in GitLab versions \u003e= 16.4.\n" }, + "commitCommitterNameCheck": { + "type": "boolean", + "description": "Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.\n" + }, "commitMessageNegativeRegex": { "type": "string", "description": "No commit message is allowed to match this regex, for example `ssh\\:\\/\\/`.\n" @@ -448,6 +452,7 @@ "authorEmailRegex", "branchNameRegex", "commitCommitterCheck", + "commitCommitterNameCheck", "commitMessageNegativeRegex", "commitMessageRegex", "denyDeleteTag", @@ -682,9 +687,13 @@ "type": "boolean", "description": "Users can only push commits to this repository that were committed with one of their own verified emails.\n" }, + "commitCommitterNameCheck": { + "type": "boolean", + "description": "Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.\n" + }, "commitMessageNegativeRegex": { "type": "string", - "description": "No commit message is allowed to match this regex, for example `ssh\\:\\/\\/`.\n" + "description": "No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`.\n" }, "commitMessageRegex": { "type": "string", @@ -1168,9 +1177,6 @@ "description": { "type": "string" }, - "emailsDisabled": { - "type": "boolean" - }, "emailsEnabled": { "type": "boolean" }, @@ -1248,7 +1254,6 @@ "createdAt", "defaultBranchProtection", "description", - "emailsDisabled", "emailsEnabled", "fileTemplateProjectId", "fullName", @@ -1522,6 +1527,10 @@ }, "gitlab:index/getInstanceVariablesVariable:getInstanceVariablesVariable": { "properties": { + "description": { + "type": "string", + "description": "The description of the variable. Maximum of 255 characters.\n" + }, "key": { "type": "string", "description": "The name of the variable.\n" @@ -1549,6 +1558,7 @@ }, "type": "object", "required": [ + "description", "key", "masked", "protected", @@ -2459,6 +2469,10 @@ "type": "boolean", "description": "Users can only push commits to this repository that were committed with one of their own verified emails.\n" }, + "commitCommitterNameCheck": { + "type": "boolean", + "description": "Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.\n" + }, "commitMessageNegativeRegex": { "type": "string", "description": "No commit message is allowed to match this regex, for example `ssh\\:\\/\\/`.\n" @@ -2497,6 +2511,7 @@ "authorEmailRegex", "branchNameRegex", "commitCommitterCheck", + "commitCommitterNameCheck", "commitMessageNegativeRegex", "commitMessageRegex", "denyDeleteTag", @@ -2951,11 +2966,6 @@ "type": "string", "description": "The description of the project.\n" }, - "emailsDisabled": { - "type": "boolean", - "description": "Disable email notifications.\n", - "deprecationMessage": "Use of `emails_disabled` is deprecated. Use `emails_enabled` instead." - }, "emailsEnabled": { "type": "boolean", "description": "Enable email notifications.\n" @@ -3143,10 +3153,6 @@ }, "description": "Permissions for the project.\n" }, - "public": { - "type": "boolean", - "description": "Whether the project is public.\n" - }, "publicBuilds": { "type": "boolean", "description": "Whether public builds are enabled for the project.\n" @@ -3293,7 +3299,6 @@ "customAttributes", "defaultBranch", "description", - "emailsDisabled", "emailsEnabled", "emptyRepo", "environmentsAccessLevel", @@ -3338,7 +3343,6 @@ "path", "pathWithNamespace", "permissions", - "public", "publicBuilds", "readmeUrl", "releasesAccessLevel", @@ -4045,7 +4049,7 @@ }, "resources": { "gitlab:index/application:Application": { - "description": "The `gitlab.Application` resource allows to manage the lifecycle of applications in gitlab.\n\n\u003e In order to use a user for a user to create an application, they must have admin privileges at the instance level.\nTo create an OIDC application, a scope of \"openid\".\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/applications.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst oidc = new gitlab.Application(\"oidc\", {\n confidential: true,\n scopes: [\"openid\"],\n name: \"company_oidc\",\n redirectUrl: \"https://mycompany.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\noidc = gitlab.Application(\"oidc\",\n confidential=True,\n scopes=[\"openid\"],\n name=\"company_oidc\",\n redirect_url=\"https://mycompany.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oidc = new GitLab.Application(\"oidc\", new()\n {\n Confidential = true,\n Scopes = new[]\n {\n \"openid\",\n },\n Name = \"company_oidc\",\n RedirectUrl = \"https://mycompany.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewApplication(ctx, \"oidc\", \u0026gitlab.ApplicationArgs{\n\t\t\tConfidential: pulumi.Bool(true),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"company_oidc\"),\n\t\t\tRedirectUrl: pulumi.String(\"https://mycompany.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Application;\nimport com.pulumi.gitlab.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var oidc = new Application(\"oidc\", ApplicationArgs.builder()\n .confidential(true)\n .scopes(\"openid\")\n .name(\"company_oidc\")\n .redirectUrl(\"https://mycompany.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n oidc:\n type: gitlab:Application\n properties:\n confidential: true\n scopes:\n - openid\n name: company_oidc\n redirectUrl: https://mycompany.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab applications can be imported with their id, e.g.\n\n```sh\n$ pulumi import gitlab:index/application:Application example \"1\"\n```\n\nNOTE: the secret and scopes cannot be imported\n\n", + "description": "The `gitlab.Application` resource allows to manage the lifecycle of applications in gitlab.\n\n\u003e In order to use a user for a user to create an application, they must have admin privileges at the instance level.\nTo create an OIDC application, a scope of \"openid\".\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/applications.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst oidc = new gitlab.Application(\"oidc\", {\n confidential: true,\n scopes: [\"openid\"],\n name: \"company_oidc\",\n redirectUrl: \"https://mycompany.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\noidc = gitlab.Application(\"oidc\",\n confidential=True,\n scopes=[\"openid\"],\n name=\"company_oidc\",\n redirect_url=\"https://mycompany.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var oidc = new GitLab.Application(\"oidc\", new()\n {\n Confidential = true,\n Scopes = new[]\n {\n \"openid\",\n },\n Name = \"company_oidc\",\n RedirectUrl = \"https://mycompany.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewApplication(ctx, \"oidc\", \u0026gitlab.ApplicationArgs{\n\t\t\tConfidential: pulumi.Bool(true),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"company_oidc\"),\n\t\t\tRedirectUrl: pulumi.String(\"https://mycompany.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Application;\nimport com.pulumi.gitlab.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var oidc = new Application(\"oidc\", ApplicationArgs.builder()\n .confidential(true)\n .scopes(\"openid\")\n .name(\"company_oidc\")\n .redirectUrl(\"https://mycompany.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n oidc:\n type: gitlab:Application\n properties:\n confidential: true\n scopes:\n - openid\n name: company_oidc\n redirectUrl: https://mycompany.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab applications can be imported with their id, e.g.\n\n```sh\n$ pulumi import gitlab:index/application:Application example \"1\"\n```\n\nNOTE: the secret and scopes cannot be imported\n\n", "properties": { "applicationId": { "type": "string", @@ -4735,6 +4739,10 @@ "type": "integer", "description": "A method call is only tracked when it takes longer than the given amount of milliseconds.\n" }, + "minimumPasswordLength": { + "type": "integer", + "description": "Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only.\n" + }, "mirrorAvailable": { "type": "boolean", "description": "Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring.\n" @@ -5307,6 +5315,7 @@ "maxPersonalAccessTokenLifetime", "maxSshKeyLifetime", "metricsMethodCallThreshold", + "minimumPasswordLength", "mirrorAvailable", "mirrorCapacityThreshold", "mirrorMaxCapacity", @@ -6001,6 +6010,10 @@ "type": "integer", "description": "A method call is only tracked when it takes longer than the given amount of milliseconds.\n" }, + "minimumPasswordLength": { + "type": "integer", + "description": "Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only.\n" + }, "mirrorAvailable": { "type": "boolean", "description": "Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring.\n" @@ -7026,6 +7039,10 @@ "type": "integer", "description": "A method call is only tracked when it takes longer than the given amount of milliseconds.\n" }, + "minimumPasswordLength": { + "type": "integer", + "description": "Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only.\n" + }, "mirrorAvailable": { "type": "boolean", "description": "Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring.\n" @@ -7464,7 +7481,7 @@ } }, "gitlab:index/branch:Branch": { - "description": "The `gitlab.Branch` resource allows to manage the lifecycle of a repository branch.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/branches.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// Create a project for the branch to use\nconst example = new gitlab.Project(\"example\", {\n name: \"example\",\n description: \"An example project\",\n namespaceId: exampleGitlabGroup.id,\n});\nconst exampleBranch = new gitlab.Branch(\"example\", {\n name: \"example\",\n ref: \"main\",\n project: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# Create a project for the branch to use\nexample = gitlab.Project(\"example\",\n name=\"example\",\n description=\"An example project\",\n namespace_id=example_gitlab_group[\"id\"])\nexample_branch = gitlab.Branch(\"example\",\n name=\"example\",\n ref=\"main\",\n project=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a project for the branch to use\n var example = new GitLab.Project(\"example\", new()\n {\n Name = \"example\",\n Description = \"An example project\",\n NamespaceId = exampleGitlabGroup.Id,\n });\n\n var exampleBranch = new GitLab.Branch(\"example\", new()\n {\n Name = \"example\",\n Ref = \"main\",\n Project = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a project for the branch to use\n\t\texample, err := gitlab.NewProject(ctx, \"example\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example project\"),\n\t\t\tNamespaceId: pulumi.Any(exampleGitlabGroup.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewBranch(ctx, \"example\", \u0026gitlab.BranchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRef: pulumi.String(\"main\"),\n\t\t\tProject: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.Branch;\nimport com.pulumi.gitlab.BranchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a project for the branch to use\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(\"example\")\n .description(\"An example project\")\n .namespaceId(exampleGitlabGroup.id())\n .build());\n\n var exampleBranch = new Branch(\"exampleBranch\", BranchArgs.builder()\n .name(\"example\")\n .ref(\"main\")\n .project(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a project for the branch to use\n example:\n type: gitlab:Project\n properties:\n name: example\n description: An example project\n namespaceId: ${exampleGitlabGroup.id}\n exampleBranch:\n type: gitlab:Branch\n name: example\n properties:\n name: example\n ref: main\n project: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab branches can be imported with a key composed of `\u003cproject_id\u003e:\u003cbranch_name\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/branch:Branch example \"12345:develop\"\n```\n\n", + "description": "The `gitlab.Branch` resource allows to manage the lifecycle of a repository branch.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/branches.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// Create a project for the branch to use\nconst example = new gitlab.Project(\"example\", {\n name: \"example\",\n description: \"An example project\",\n namespaceId: exampleGitlabGroup.id,\n});\nconst exampleBranch = new gitlab.Branch(\"example\", {\n name: \"example\",\n ref: \"main\",\n project: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# Create a project for the branch to use\nexample = gitlab.Project(\"example\",\n name=\"example\",\n description=\"An example project\",\n namespace_id=example_gitlab_group[\"id\"])\nexample_branch = gitlab.Branch(\"example\",\n name=\"example\",\n ref=\"main\",\n project=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a project for the branch to use\n var example = new GitLab.Project(\"example\", new()\n {\n Name = \"example\",\n Description = \"An example project\",\n NamespaceId = exampleGitlabGroup.Id,\n });\n\n var exampleBranch = new GitLab.Branch(\"example\", new()\n {\n Name = \"example\",\n Ref = \"main\",\n Project = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a project for the branch to use\n\t\texample, err := gitlab.NewProject(ctx, \"example\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example project\"),\n\t\t\tNamespaceId: pulumi.Any(exampleGitlabGroup.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewBranch(ctx, \"example\", \u0026gitlab.BranchArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRef: pulumi.String(\"main\"),\n\t\t\tProject: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.Branch;\nimport com.pulumi.gitlab.BranchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a project for the branch to use\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(\"example\")\n .description(\"An example project\")\n .namespaceId(exampleGitlabGroup.id())\n .build());\n\n var exampleBranch = new Branch(\"exampleBranch\", BranchArgs.builder()\n .name(\"example\")\n .ref(\"main\")\n .project(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a project for the branch to use\n example:\n type: gitlab:Project\n properties:\n name: example\n description: An example project\n namespaceId: ${exampleGitlabGroup.id}\n exampleBranch:\n type: gitlab:Branch\n name: example\n properties:\n name: example\n ref: main\n project: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab branches can be imported with a key composed of `\u003cproject_id\u003e:\u003cbranch_name\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/branch:Branch example \"12345:develop\"\n```\n\n", "properties": { "canPush": { "type": "boolean", @@ -7788,7 +7805,7 @@ } }, "gitlab:index/clusterAgent:ClusterAgent": { - "description": "The `gitlab.ClusterAgent` resource allows to manage the lifecycle of a GitLab Agent for Kubernetes.\n\n\u003e Note that this resource only registers the agent, but doesn't configure it.\n The configuration needs to be manually added as described in\n [the docs](https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file).\n However, a `gitlab.RepositoryFile` resource may be used to achieve that.\n\n\u003e Requires at least maintainer permissions on the project.\n\n\u003e Requires at least GitLab 14.10\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/cluster_agents.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new gitlab.ClusterAgent(\"example\", {\n project: \"12345\",\n name: \"agent-1\",\n});\n// Optionally, configure the agent as described in\n// https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\nconst exampleAgentConfig = new gitlab.RepositoryFile(\"example_agent_config\", {\n project: example.project,\n branch: \"main\",\n filePath: pulumi.interpolate`.gitlab/agents/${example.name}/config.yaml`,\n content: std.base64encode({\n input: \"# the GitLab Agent for Kubernetes configuration goes here ...\\n\",\n }).then(invoke =\u003e invoke.result),\n authorEmail: \"terraform@example.com\",\n authorName: \"Terraform\",\n commitMessage: pulumi.interpolate`feature: add agent config for ${example.name} [skip ci]`,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\nimport pulumi_std as std\n\nexample = gitlab.ClusterAgent(\"example\",\n project=\"12345\",\n name=\"agent-1\")\n# Optionally, configure the agent as described in\n# https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\nexample_agent_config = gitlab.RepositoryFile(\"example_agent_config\",\n project=example.project,\n branch=\"main\",\n file_path=example.name.apply(lambda name: f\".gitlab/agents/{name}/config.yaml\"),\n content=std.base64encode(input=\"# the GitLab Agent for Kubernetes configuration goes here ...\\n\").result,\n author_email=\"terraform@example.com\",\n author_name=\"Terraform\",\n commit_message=example.name.apply(lambda name: f\"feature: add agent config for {name} [skip ci]\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.ClusterAgent(\"example\", new()\n {\n Project = \"12345\",\n Name = \"agent-1\",\n });\n\n // Optionally, configure the agent as described in\n // https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\n var exampleAgentConfig = new GitLab.RepositoryFile(\"example_agent_config\", new()\n {\n Project = example.Project,\n Branch = \"main\",\n FilePath = example.Name.Apply(name =\u003e $\".gitlab/agents/{name}/config.yaml\"),\n Content = Std.Base64encode.Invoke(new()\n {\n Input = @\"# the GitLab Agent for Kubernetes configuration goes here ...\n\",\n }).Apply(invoke =\u003e invoke.Result),\n AuthorEmail = \"terraform@example.com\",\n AuthorName = \"Terraform\",\n CommitMessage = example.Name.Apply(name =\u003e $\"feature: add agent config for {name} [skip ci]\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewClusterAgent(ctx, \"example\", \u0026gitlab.ClusterAgentArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tName: pulumi.String(\"agent-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"# the GitLab Agent for Kubernetes configuration goes here ...\\n\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optionally, configure the agent as described in\n\t\t// https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\n\t\t_, err = gitlab.NewRepositoryFile(ctx, \"example_agent_config\", \u0026gitlab.RepositoryFileArgs{\n\t\t\tProject: example.Project,\n\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\tFilePath: example.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\".gitlab/agents/%v/config.yaml\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tContent: invokeBase64encode.Result,\n\t\t\tAuthorEmail: pulumi.String(\"terraform@example.com\"),\n\t\t\tAuthorName: pulumi.String(\"Terraform\"),\n\t\t\tCommitMessage: example.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"feature: add agent config for %v [skip ci]\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ClusterAgent;\nimport com.pulumi.gitlab.ClusterAgentArgs;\nimport com.pulumi.gitlab.RepositoryFile;\nimport com.pulumi.gitlab.RepositoryFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ClusterAgent(\"example\", ClusterAgentArgs.builder()\n .project(\"12345\")\n .name(\"agent-1\")\n .build());\n\n // Optionally, configure the agent as described in\n // https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\n var exampleAgentConfig = new RepositoryFile(\"exampleAgentConfig\", RepositoryFileArgs.builder()\n .project(example.project())\n .branch(\"main\")\n .filePath(example.name().applyValue(name -\u003e String.format(\".gitlab/agents/%s/config.yaml\", name)))\n .content(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"\"\"\n# the GitLab Agent for Kubernetes configuration goes here ...\n \"\"\")\n .build()).result())\n .authorEmail(\"terraform@example.com\")\n .authorName(\"Terraform\")\n .commitMessage(example.name().applyValue(name -\u003e String.format(\"feature: add agent config for %s [skip ci]\", name)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:ClusterAgent\n properties:\n project: '12345'\n name: agent-1\n # Optionally, configure the agent as described in\n # // https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\n exampleAgentConfig:\n type: gitlab:RepositoryFile\n name: example_agent_config\n properties:\n project: ${example.project}\n branch: main\n filePath: .gitlab/agents/${example.name}/config.yaml\n content:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: |\n # the GitLab Agent for Kubernetes configuration goes here ...\n Return: result\n authorEmail: terraform@example.com\n authorName: Terraform\n commitMessage: 'feature: add agent config for ${example.name} [skip ci]'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab Agent for Kubernetes can be imported with the following command and the id pattern `\u003cproject\u003e:\u003cagent-id\u003e`\n\n```sh\n$ pulumi import gitlab:index/clusterAgent:ClusterAgent example '12345:42'\n```\n\n", + "description": "The `gitlab.ClusterAgent` resource allows to manage the lifecycle of a GitLab Agent for Kubernetes.\n\n\u003e Note that this resource only registers the agent, but doesn't configure it.\n The configuration needs to be manually added as described in\n [the docs](https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file).\n However, a `gitlab.RepositoryFile` resource may be used to achieve that.\n\n\u003e Requires at least maintainer permissions on the project.\n\n\u003e Requires at least GitLab 14.10\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/cluster_agents.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new gitlab.ClusterAgent(\"example\", {\n project: \"12345\",\n name: \"agent-1\",\n});\n// Optionally, configure the agent as described in\n// https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\nconst exampleAgentConfig = new gitlab.RepositoryFile(\"example_agent_config\", {\n project: example.project,\n branch: \"main\",\n filePath: pulumi.interpolate`.gitlab/agents/${example.name}/config.yaml`,\n content: std.base64encode({\n input: \"# the GitLab Agent for Kubernetes configuration goes here ...\\n\",\n }).then(invoke =\u003e invoke.result),\n authorEmail: \"terraform@example.com\",\n authorName: \"Terraform\",\n commitMessage: pulumi.interpolate`feature: add agent config for ${example.name} [skip ci]`,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\nimport pulumi_std as std\n\nexample = gitlab.ClusterAgent(\"example\",\n project=\"12345\",\n name=\"agent-1\")\n# Optionally, configure the agent as described in\n# https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\nexample_agent_config = gitlab.RepositoryFile(\"example_agent_config\",\n project=example.project,\n branch=\"main\",\n file_path=example.name.apply(lambda name: f\".gitlab/agents/{name}/config.yaml\"),\n content=std.base64encode(input=\"# the GitLab Agent for Kubernetes configuration goes here ...\\n\").result,\n author_email=\"terraform@example.com\",\n author_name=\"Terraform\",\n commit_message=example.name.apply(lambda name: f\"feature: add agent config for {name} [skip ci]\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.ClusterAgent(\"example\", new()\n {\n Project = \"12345\",\n Name = \"agent-1\",\n });\n\n // Optionally, configure the agent as described in\n // https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\n var exampleAgentConfig = new GitLab.RepositoryFile(\"example_agent_config\", new()\n {\n Project = example.Project,\n Branch = \"main\",\n FilePath = example.Name.Apply(name =\u003e $\".gitlab/agents/{name}/config.yaml\"),\n Content = Std.Base64encode.Invoke(new()\n {\n Input = @\"# the GitLab Agent for Kubernetes configuration goes here ...\n\",\n }).Apply(invoke =\u003e invoke.Result),\n AuthorEmail = \"terraform@example.com\",\n AuthorName = \"Terraform\",\n CommitMessage = example.Name.Apply(name =\u003e $\"feature: add agent config for {name} [skip ci]\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewClusterAgent(ctx, \"example\", \u0026gitlab.ClusterAgentArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tName: pulumi.String(\"agent-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"# the GitLab Agent for Kubernetes configuration goes here ...\\n\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optionally, configure the agent as described in\n\t\t// https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\n\t\t_, err = gitlab.NewRepositoryFile(ctx, \"example_agent_config\", \u0026gitlab.RepositoryFileArgs{\n\t\t\tProject: example.Project,\n\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\tFilePath: example.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\".gitlab/agents/%v/config.yaml\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tContent: invokeBase64encode.Result,\n\t\t\tAuthorEmail: pulumi.String(\"terraform@example.com\"),\n\t\t\tAuthorName: pulumi.String(\"Terraform\"),\n\t\t\tCommitMessage: example.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"feature: add agent config for %v [skip ci]\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ClusterAgent;\nimport com.pulumi.gitlab.ClusterAgentArgs;\nimport com.pulumi.gitlab.RepositoryFile;\nimport com.pulumi.gitlab.RepositoryFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ClusterAgent(\"example\", ClusterAgentArgs.builder()\n .project(\"12345\")\n .name(\"agent-1\")\n .build());\n\n // Optionally, configure the agent as described in\n // https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\n var exampleAgentConfig = new RepositoryFile(\"exampleAgentConfig\", RepositoryFileArgs.builder()\n .project(example.project())\n .branch(\"main\")\n .filePath(example.name().applyValue(name -\u003e String.format(\".gitlab/agents/%s/config.yaml\", name)))\n .content(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"\"\"\n# the GitLab Agent for Kubernetes configuration goes here ...\n \"\"\")\n .build()).result())\n .authorEmail(\"terraform@example.com\")\n .authorName(\"Terraform\")\n .commitMessage(example.name().applyValue(name -\u003e String.format(\"feature: add agent config for %s [skip ci]\", name)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:ClusterAgent\n properties:\n project: '12345'\n name: agent-1\n # Optionally, configure the agent as described in\n # // https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#create-an-agent-configuration-file\n exampleAgentConfig:\n type: gitlab:RepositoryFile\n name: example_agent_config\n properties:\n project: ${example.project}\n branch: main\n filePath: .gitlab/agents/${example.name}/config.yaml\n content:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: |\n # the GitLab Agent for Kubernetes configuration goes here ...\n Return: result\n authorEmail: terraform@example.com\n authorName: Terraform\n commitMessage: 'feature: add agent config for ${example.name} [skip ci]'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab Agent for Kubernetes can be imported with the following command and the id pattern `\u003cproject\u003e:\u003cagent-id\u003e`\n\n```sh\n$ pulumi import gitlab:index/clusterAgent:ClusterAgent example '12345:42'\n```\n\n", "properties": { "agentId": { "type": "integer", @@ -7863,7 +7880,7 @@ } }, "gitlab:index/clusterAgentToken:ClusterAgentToken": { - "description": "The `gitlab.ClusterAgentToken` resource allows to manage the lifecycle of a token for a GitLab Agent for Kubernetes.\n\n\u003e Requires at least maintainer permissions on the project.\n\n\u003e Requires at least GitLab 15.0\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/cluster_agents.html#create-an-agent-token)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\nimport * as helm from \"@pulumi/helm\";\n\n// Create token for an agent\nconst example = new gitlab.ClusterAgentToken(\"example\", {\n project: \"12345\",\n agentId: 42,\n name: \"some-token\",\n description: \"some token\",\n});\n// The following example creates a GitLab Agent for Kubernetes in a given project,\n// creates a token and install the `gitlab-agent` Helm Chart.\n// (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\nconst this = gitlab.getProject({\n pathWithNamespace: \"my-org/example\",\n});\nconst thisClusterAgent = new gitlab.ClusterAgent(\"this\", {\n project: _this.then(_this =\u003e _this.id),\n name: \"my-agent\",\n});\nconst thisClusterAgentToken = new gitlab.ClusterAgentToken(\"this\", {\n project: _this.then(_this =\u003e _this.id),\n agentId: thisClusterAgent.agentId,\n name: \"my-agent-token\",\n description: \"Token for the my-agent used with `gitlab-agent` Helm Chart\",\n});\nconst gitlabAgent = new helm.index.Release(\"gitlab_agent\", {\n name: \"gitlab-agent\",\n namespace: \"gitlab-agent\",\n createNamespace: true,\n repository: \"https://charts.gitlab.io\",\n chart: \"gitlab-agent\",\n version: \"1.2.0\",\n set: [{\n name: \"config.token\",\n value: thisClusterAgentToken.token,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\nimport pulumi_helm as helm\n\n# Create token for an agent\nexample = gitlab.ClusterAgentToken(\"example\",\n project=\"12345\",\n agent_id=42,\n name=\"some-token\",\n description=\"some token\")\n# The following example creates a GitLab Agent for Kubernetes in a given project,\n# creates a token and install the `gitlab-agent` Helm Chart.\n# (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\nthis = gitlab.get_project(path_with_namespace=\"my-org/example\")\nthis_cluster_agent = gitlab.ClusterAgent(\"this\",\n project=this.id,\n name=\"my-agent\")\nthis_cluster_agent_token = gitlab.ClusterAgentToken(\"this\",\n project=this.id,\n agent_id=this_cluster_agent.agent_id,\n name=\"my-agent-token\",\n description=\"Token for the my-agent used with `gitlab-agent` Helm Chart\")\ngitlab_agent = helm.index.Release(\"gitlab_agent\",\n name=gitlab-agent,\n namespace=gitlab-agent,\n create_namespace=True,\n repository=https://charts.gitlab.io,\n chart=gitlab-agent,\n version=1.2.0,\n set=[{\n name: config.token,\n value: this_cluster_agent_token.token,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\nusing Helm = Pulumi.Helm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create token for an agent\n var example = new GitLab.ClusterAgentToken(\"example\", new()\n {\n Project = \"12345\",\n AgentId = 42,\n Name = \"some-token\",\n Description = \"some token\",\n });\n\n // The following example creates a GitLab Agent for Kubernetes in a given project,\n // creates a token and install the `gitlab-agent` Helm Chart.\n // (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\n var @this = GitLab.GetProject.Invoke(new()\n {\n PathWithNamespace = \"my-org/example\",\n });\n\n var thisClusterAgent = new GitLab.ClusterAgent(\"this\", new()\n {\n Project = @this.Apply(@this =\u003e @this.Apply(getProjectResult =\u003e getProjectResult.Id)),\n Name = \"my-agent\",\n });\n\n var thisClusterAgentToken = new GitLab.ClusterAgentToken(\"this\", new()\n {\n Project = @this.Apply(@this =\u003e @this.Apply(getProjectResult =\u003e getProjectResult.Id)),\n AgentId = thisClusterAgent.AgentId,\n Name = \"my-agent-token\",\n Description = \"Token for the my-agent used with `gitlab-agent` Helm Chart\",\n });\n\n var gitlabAgent = new Helm.Index.Release(\"gitlab_agent\", new()\n {\n Name = \"gitlab-agent\",\n Namespace = \"gitlab-agent\",\n CreateNamespace = true,\n Repository = \"https://charts.gitlab.io\",\n Chart = \"gitlab-agent\",\n Version = \"1.2.0\",\n Set = new[]\n {\n \n {\n { \"name\", \"config.token\" },\n { \"value\", thisClusterAgentToken.Token },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi-helm/sdk/v1/go/helm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create token for an agent\n\t\t_, err := gitlab.NewClusterAgentToken(ctx, \"example\", \u0026gitlab.ClusterAgentTokenArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tAgentId: pulumi.Int(42),\n\t\t\tName: pulumi.String(\"some-token\"),\n\t\t\tDescription: pulumi.String(\"some token\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The following example creates a GitLab Agent for Kubernetes in a given project,\n\t\t// creates a token and install the `gitlab-agent` Helm Chart.\n\t\t// (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\n\t\tthis, err := gitlab.LookupProject(ctx, \u0026gitlab.LookupProjectArgs{\n\t\t\tPathWithNamespace: pulumi.StringRef(\"my-org/example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisClusterAgent, err := gitlab.NewClusterAgent(ctx, \"this\", \u0026gitlab.ClusterAgentArgs{\n\t\t\tProject: pulumi.String(this.Id),\n\t\t\tName: pulumi.String(\"my-agent\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisClusterAgentToken, err := gitlab.NewClusterAgentToken(ctx, \"this\", \u0026gitlab.ClusterAgentTokenArgs{\n\t\t\tProject: pulumi.String(this.Id),\n\t\t\tAgentId: thisClusterAgent.AgentId,\n\t\t\tName: pulumi.String(\"my-agent-token\"),\n\t\t\tDescription: pulumi.String(\"Token for the my-agent used with `gitlab-agent` Helm Chart\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = index.NewRelease(ctx, \"gitlab_agent\", \u0026index.ReleaseArgs{\n\t\t\tName: \"gitlab-agent\",\n\t\t\tNamespace: \"gitlab-agent\",\n\t\t\tCreateNamespace: true,\n\t\t\tRepository: \"https://charts.gitlab.io\",\n\t\t\tChart: \"gitlab-agent\",\n\t\t\tVersion: \"1.2.0\",\n\t\t\tSet: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"config.token\",\n\t\t\t\t\t\"value\": thisClusterAgentToken.Token,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ClusterAgentToken;\nimport com.pulumi.gitlab.ClusterAgentTokenArgs;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectArgs;\nimport com.pulumi.gitlab.ClusterAgent;\nimport com.pulumi.gitlab.ClusterAgentArgs;\nimport com.pulumi.helm.release;\nimport com.pulumi.helm.ReleaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create token for an agent\n var example = new ClusterAgentToken(\"example\", ClusterAgentTokenArgs.builder()\n .project(\"12345\")\n .agentId(42)\n .name(\"some-token\")\n .description(\"some token\")\n .build());\n\n // The following example creates a GitLab Agent for Kubernetes in a given project,\n // creates a token and install the `gitlab-agent` Helm Chart.\n // (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\n final var this = GitlabFunctions.getProject(GetProjectArgs.builder()\n .pathWithNamespace(\"my-org/example\")\n .build());\n\n var thisClusterAgent = new ClusterAgent(\"thisClusterAgent\", ClusterAgentArgs.builder()\n .project(this_.id())\n .name(\"my-agent\")\n .build());\n\n var thisClusterAgentToken = new ClusterAgentToken(\"thisClusterAgentToken\", ClusterAgentTokenArgs.builder()\n .project(this_.id())\n .agentId(thisClusterAgent.agentId())\n .name(\"my-agent-token\")\n .description(\"Token for the my-agent used with `gitlab-agent` Helm Chart\")\n .build());\n\n var gitlabAgent = new Release(\"gitlabAgent\", ReleaseArgs.builder()\n .name(\"gitlab-agent\")\n .namespace(\"gitlab-agent\")\n .createNamespace(true)\n .repository(\"https://charts.gitlab.io\")\n .chart(\"gitlab-agent\")\n .version(\"1.2.0\")\n .set(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create token for an agent\n example:\n type: gitlab:ClusterAgentToken\n properties:\n project: '12345'\n agentId: 42\n name: some-token\n description: some token\n thisClusterAgent:\n type: gitlab:ClusterAgent\n name: this\n properties:\n project: ${this.id}\n name: my-agent\n thisClusterAgentToken:\n type: gitlab:ClusterAgentToken\n name: this\n properties:\n project: ${this.id}\n agentId: ${thisClusterAgent.agentId}\n name: my-agent-token\n description: Token for the my-agent used with `gitlab-agent` Helm Chart\n gitlabAgent:\n type: helm:release\n name: gitlab_agent\n properties:\n name: gitlab-agent\n namespace: gitlab-agent\n createNamespace: true\n repository: https://charts.gitlab.io\n chart: gitlab-agent\n version: 1.2.0\n set:\n - name: config.token\n value: ${thisClusterAgentToken.token}\nvariables:\n # The following example creates a GitLab Agent for Kubernetes in a given project,\n # // creates a token and install the `gitlab-agent` Helm Chart.\n # // (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\n this:\n fn::invoke:\n Function: gitlab:getProject\n Arguments:\n pathWithNamespace: my-org/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA token for a GitLab Agent for Kubernetes can be imported with the following command and the id pattern `\u003cproject\u003e:\u003cagent-id\u003e:\u003ctoken-id\u003e`:\n\n```sh\n$ pulumi import gitlab:index/clusterAgentToken:ClusterAgentToken example '12345:42:1'\n```\n\nATTENTION: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", + "description": "The `gitlab.ClusterAgentToken` resource allows to manage the lifecycle of a token for a GitLab Agent for Kubernetes.\n\n\u003e Requires at least maintainer permissions on the project.\n\n\u003e Requires at least GitLab 15.0\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/cluster_agents.html#create-an-agent-token)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\nimport * as helm from \"@pulumi/helm\";\n\n// Create token for an agent\nconst example = new gitlab.ClusterAgentToken(\"example\", {\n project: \"12345\",\n agentId: 42,\n name: \"some-token\",\n description: \"some token\",\n});\n// The following example creates a GitLab Agent for Kubernetes in a given project,\n// creates a token and install the `gitlab-agent` Helm Chart.\n// (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\nconst this = gitlab.getProject({\n pathWithNamespace: \"my-org/example\",\n});\nconst thisClusterAgent = new gitlab.ClusterAgent(\"this\", {\n project: _this.then(_this =\u003e _this.id),\n name: \"my-agent\",\n});\nconst thisClusterAgentToken = new gitlab.ClusterAgentToken(\"this\", {\n project: _this.then(_this =\u003e _this.id),\n agentId: thisClusterAgent.agentId,\n name: \"my-agent-token\",\n description: \"Token for the my-agent used with `gitlab-agent` Helm Chart\",\n});\nconst gitlabAgent = new helm.index.Release(\"gitlab_agent\", {\n name: \"gitlab-agent\",\n namespace: \"gitlab-agent\",\n createNamespace: true,\n repository: \"https://charts.gitlab.io\",\n chart: \"gitlab-agent\",\n version: \"1.2.0\",\n set: [{\n name: \"config.token\",\n value: thisClusterAgentToken.token,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\nimport pulumi_helm as helm\n\n# Create token for an agent\nexample = gitlab.ClusterAgentToken(\"example\",\n project=\"12345\",\n agent_id=42,\n name=\"some-token\",\n description=\"some token\")\n# The following example creates a GitLab Agent for Kubernetes in a given project,\n# creates a token and install the `gitlab-agent` Helm Chart.\n# (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\nthis = gitlab.get_project(path_with_namespace=\"my-org/example\")\nthis_cluster_agent = gitlab.ClusterAgent(\"this\",\n project=this.id,\n name=\"my-agent\")\nthis_cluster_agent_token = gitlab.ClusterAgentToken(\"this\",\n project=this.id,\n agent_id=this_cluster_agent.agent_id,\n name=\"my-agent-token\",\n description=\"Token for the my-agent used with `gitlab-agent` Helm Chart\")\ngitlab_agent = helm.index.Release(\"gitlab_agent\",\n name=gitlab-agent,\n namespace=gitlab-agent,\n create_namespace=True,\n repository=https://charts.gitlab.io,\n chart=gitlab-agent,\n version=1.2.0,\n set=[{\n name: config.token,\n value: this_cluster_agent_token.token,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\nusing Helm = Pulumi.Helm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create token for an agent\n var example = new GitLab.ClusterAgentToken(\"example\", new()\n {\n Project = \"12345\",\n AgentId = 42,\n Name = \"some-token\",\n Description = \"some token\",\n });\n\n // The following example creates a GitLab Agent for Kubernetes in a given project,\n // creates a token and install the `gitlab-agent` Helm Chart.\n // (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\n var @this = GitLab.GetProject.Invoke(new()\n {\n PathWithNamespace = \"my-org/example\",\n });\n\n var thisClusterAgent = new GitLab.ClusterAgent(\"this\", new()\n {\n Project = @this.Apply(@this =\u003e @this.Apply(getProjectResult =\u003e getProjectResult.Id)),\n Name = \"my-agent\",\n });\n\n var thisClusterAgentToken = new GitLab.ClusterAgentToken(\"this\", new()\n {\n Project = @this.Apply(@this =\u003e @this.Apply(getProjectResult =\u003e getProjectResult.Id)),\n AgentId = thisClusterAgent.AgentId,\n Name = \"my-agent-token\",\n Description = \"Token for the my-agent used with `gitlab-agent` Helm Chart\",\n });\n\n var gitlabAgent = new Helm.Index.Release(\"gitlab_agent\", new()\n {\n Name = \"gitlab-agent\",\n Namespace = \"gitlab-agent\",\n CreateNamespace = true,\n Repository = \"https://charts.gitlab.io\",\n Chart = \"gitlab-agent\",\n Version = \"1.2.0\",\n Set = new[]\n {\n \n {\n { \"name\", \"config.token\" },\n { \"value\", thisClusterAgentToken.Token },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi-helm/sdk/v1/go/helm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create token for an agent\n\t\t_, err := gitlab.NewClusterAgentToken(ctx, \"example\", \u0026gitlab.ClusterAgentTokenArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tAgentId: pulumi.Int(42),\n\t\t\tName: pulumi.String(\"some-token\"),\n\t\t\tDescription: pulumi.String(\"some token\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// The following example creates a GitLab Agent for Kubernetes in a given project,\n\t\t// creates a token and install the `gitlab-agent` Helm Chart.\n\t\t// (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\n\t\tthis, err := gitlab.LookupProject(ctx, \u0026gitlab.LookupProjectArgs{\n\t\t\tPathWithNamespace: pulumi.StringRef(\"my-org/example\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisClusterAgent, err := gitlab.NewClusterAgent(ctx, \"this\", \u0026gitlab.ClusterAgentArgs{\n\t\t\tProject: pulumi.String(this.Id),\n\t\t\tName: pulumi.String(\"my-agent\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisClusterAgentToken, err := gitlab.NewClusterAgentToken(ctx, \"this\", \u0026gitlab.ClusterAgentTokenArgs{\n\t\t\tProject: pulumi.String(this.Id),\n\t\t\tAgentId: thisClusterAgent.AgentId,\n\t\t\tName: pulumi.String(\"my-agent-token\"),\n\t\t\tDescription: pulumi.String(\"Token for the my-agent used with `gitlab-agent` Helm Chart\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = index.NewRelease(ctx, \"gitlab_agent\", \u0026index.ReleaseArgs{\n\t\t\tName: \"gitlab-agent\",\n\t\t\tNamespace: \"gitlab-agent\",\n\t\t\tCreateNamespace: true,\n\t\t\tRepository: \"https://charts.gitlab.io\",\n\t\t\tChart: \"gitlab-agent\",\n\t\t\tVersion: \"1.2.0\",\n\t\t\tSet: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"config.token\",\n\t\t\t\t\t\"value\": thisClusterAgentToken.Token,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ClusterAgentToken;\nimport com.pulumi.gitlab.ClusterAgentTokenArgs;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectArgs;\nimport com.pulumi.gitlab.ClusterAgent;\nimport com.pulumi.gitlab.ClusterAgentArgs;\nimport com.pulumi.helm.release;\nimport com.pulumi.helm.ReleaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create token for an agent\n var example = new ClusterAgentToken(\"example\", ClusterAgentTokenArgs.builder()\n .project(\"12345\")\n .agentId(42)\n .name(\"some-token\")\n .description(\"some token\")\n .build());\n\n // The following example creates a GitLab Agent for Kubernetes in a given project,\n // creates a token and install the `gitlab-agent` Helm Chart.\n // (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\n final var this = GitlabFunctions.getProject(GetProjectArgs.builder()\n .pathWithNamespace(\"my-org/example\")\n .build());\n\n var thisClusterAgent = new ClusterAgent(\"thisClusterAgent\", ClusterAgentArgs.builder()\n .project(this_.id())\n .name(\"my-agent\")\n .build());\n\n var thisClusterAgentToken = new ClusterAgentToken(\"thisClusterAgentToken\", ClusterAgentTokenArgs.builder()\n .project(this_.id())\n .agentId(thisClusterAgent.agentId())\n .name(\"my-agent-token\")\n .description(\"Token for the my-agent used with `gitlab-agent` Helm Chart\")\n .build());\n\n var gitlabAgent = new Release(\"gitlabAgent\", ReleaseArgs.builder()\n .name(\"gitlab-agent\")\n .namespace(\"gitlab-agent\")\n .createNamespace(true)\n .repository(\"https://charts.gitlab.io\")\n .chart(\"gitlab-agent\")\n .version(\"1.2.0\")\n .set(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create token for an agent\n example:\n type: gitlab:ClusterAgentToken\n properties:\n project: '12345'\n agentId: 42\n name: some-token\n description: some token\n thisClusterAgent:\n type: gitlab:ClusterAgent\n name: this\n properties:\n project: ${this.id}\n name: my-agent\n thisClusterAgentToken:\n type: gitlab:ClusterAgentToken\n name: this\n properties:\n project: ${this.id}\n agentId: ${thisClusterAgent.agentId}\n name: my-agent-token\n description: Token for the my-agent used with `gitlab-agent` Helm Chart\n gitlabAgent:\n type: helm:release\n name: gitlab_agent\n properties:\n name: gitlab-agent\n namespace: gitlab-agent\n createNamespace: true\n repository: https://charts.gitlab.io\n chart: gitlab-agent\n version: 1.2.0\n set:\n - name: config.token\n value: ${thisClusterAgentToken.token}\nvariables:\n # The following example creates a GitLab Agent for Kubernetes in a given project,\n # // creates a token and install the `gitlab-agent` Helm Chart.\n # // (see https://gitlab.com/gitlab-org/charts/gitlab-agent)\n this:\n fn::invoke:\n Function: gitlab:getProject\n Arguments:\n pathWithNamespace: my-org/example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA token for a GitLab Agent for Kubernetes can be imported with the following command and the id pattern `\u003cproject\u003e:\u003cagent-id\u003e:\u003ctoken-id\u003e`:\n\n```sh\n$ pulumi import gitlab:index/clusterAgentToken:ClusterAgentToken example '12345:42:1'\n```\n\nATTENTION: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", "properties": { "agentId": { "type": "integer", @@ -7995,7 +8012,7 @@ } }, "gitlab:index/complianceFramework:ComplianceFramework": { - "description": "The `gitlab.ComplianceFramework` resource allows to manage the lifecycle of a compliance framework on top-level groups.\n\nThere can be only one `default` compliance framework. Of all the configured compliance frameworks marked as default, the last one applied will be the default compliance framework.\n\n\u003e This resource requires a GitLab Enterprise instance with a Premium license to create the compliance framework.\n\n\u003e This resource requires a GitLab Enterprise instance with an Ultimate license to specify a compliance pipeline configuration in the compliance framework.\n\n**Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/ee/api/graphql/reference/#mutationcreatecomplianceframework)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst sample = new gitlab.ComplianceFramework(\"sample\", {\n namespacePath: \"top-level-group\",\n name: \"HIPAA\",\n description: \"A HIPAA Compliance Framework\",\n color: \"#87BEEF\",\n \"default\": false,\n pipelineConfigurationFullPath: \".hipaa.yml@top-level-group/compliance-frameworks\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nsample = gitlab.ComplianceFramework(\"sample\",\n namespace_path=\"top-level-group\",\n name=\"HIPAA\",\n description=\"A HIPAA Compliance Framework\",\n color=\"#87BEEF\",\n default=False,\n pipeline_configuration_full_path=\".hipaa.yml@top-level-group/compliance-frameworks\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new GitLab.ComplianceFramework(\"sample\", new()\n {\n NamespacePath = \"top-level-group\",\n Name = \"HIPAA\",\n Description = \"A HIPAA Compliance Framework\",\n Color = \"#87BEEF\",\n Default = false,\n PipelineConfigurationFullPath = \".hipaa.yml@top-level-group/compliance-frameworks\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewComplianceFramework(ctx, \"sample\", \u0026gitlab.ComplianceFrameworkArgs{\n\t\t\tNamespacePath: pulumi.String(\"top-level-group\"),\n\t\t\tName: pulumi.String(\"HIPAA\"),\n\t\t\tDescription: pulumi.String(\"A HIPAA Compliance Framework\"),\n\t\t\tColor: pulumi.String(\"#87BEEF\"),\n\t\t\tDefault: pulumi.Bool(false),\n\t\t\tPipelineConfigurationFullPath: pulumi.String(\".hipaa.yml@top-level-group/compliance-frameworks\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ComplianceFramework;\nimport com.pulumi.gitlab.ComplianceFrameworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new ComplianceFramework(\"sample\", ComplianceFrameworkArgs.builder()\n .namespacePath(\"top-level-group\")\n .name(\"HIPAA\")\n .description(\"A HIPAA Compliance Framework\")\n .color(\"#87BEEF\")\n .default_(false)\n .pipelineConfigurationFullPath(\".hipaa.yml@top-level-group/compliance-frameworks\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: gitlab:ComplianceFramework\n properties:\n namespacePath: top-level-group\n name: HIPAA\n description: A HIPAA Compliance Framework\n color: '#87BEEF'\n default: false\n pipelineConfigurationFullPath: .hipaa.yml@top-level-group/compliance-frameworks\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab compliance frameworks can be imported with a key composed of `\u003cnamespace_path\u003e:\u003cframework_id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/complianceFramework:ComplianceFramework sample \"top-level-group:gid://gitlab/ComplianceManagement::Framework/12345\"\n```\n\n", + "description": "The `gitlab.ComplianceFramework` resource allows to manage the lifecycle of a compliance framework on top-level groups.\n\nThere can be only one `default` compliance framework. Of all the configured compliance frameworks marked as default, the last one applied will be the default compliance framework.\n\n\u003e This resource requires a GitLab Enterprise instance with a Premium license to create the compliance framework.\n\n\u003e This resource requires a GitLab Enterprise instance with an Ultimate license to specify a compliance pipeline configuration in the compliance framework.\n\n**Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/ee/api/graphql/reference/#mutationcreatecomplianceframework)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst sample = new gitlab.ComplianceFramework(\"sample\", {\n namespacePath: \"top-level-group\",\n name: \"HIPAA\",\n description: \"A HIPAA Compliance Framework\",\n color: \"#87BEEF\",\n \"default\": false,\n pipelineConfigurationFullPath: \".hipaa.yml@top-level-group/compliance-frameworks\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nsample = gitlab.ComplianceFramework(\"sample\",\n namespace_path=\"top-level-group\",\n name=\"HIPAA\",\n description=\"A HIPAA Compliance Framework\",\n color=\"#87BEEF\",\n default=False,\n pipeline_configuration_full_path=\".hipaa.yml@top-level-group/compliance-frameworks\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new GitLab.ComplianceFramework(\"sample\", new()\n {\n NamespacePath = \"top-level-group\",\n Name = \"HIPAA\",\n Description = \"A HIPAA Compliance Framework\",\n Color = \"#87BEEF\",\n Default = false,\n PipelineConfigurationFullPath = \".hipaa.yml@top-level-group/compliance-frameworks\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewComplianceFramework(ctx, \"sample\", \u0026gitlab.ComplianceFrameworkArgs{\n\t\t\tNamespacePath: pulumi.String(\"top-level-group\"),\n\t\t\tName: pulumi.String(\"HIPAA\"),\n\t\t\tDescription: pulumi.String(\"A HIPAA Compliance Framework\"),\n\t\t\tColor: pulumi.String(\"#87BEEF\"),\n\t\t\tDefault: pulumi.Bool(false),\n\t\t\tPipelineConfigurationFullPath: pulumi.String(\".hipaa.yml@top-level-group/compliance-frameworks\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ComplianceFramework;\nimport com.pulumi.gitlab.ComplianceFrameworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new ComplianceFramework(\"sample\", ComplianceFrameworkArgs.builder()\n .namespacePath(\"top-level-group\")\n .name(\"HIPAA\")\n .description(\"A HIPAA Compliance Framework\")\n .color(\"#87BEEF\")\n .default_(false)\n .pipelineConfigurationFullPath(\".hipaa.yml@top-level-group/compliance-frameworks\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: gitlab:ComplianceFramework\n properties:\n namespacePath: top-level-group\n name: HIPAA\n description: A HIPAA Compliance Framework\n color: '#87BEEF'\n default: false\n pipelineConfigurationFullPath: .hipaa.yml@top-level-group/compliance-frameworks\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab compliance frameworks can be imported with a key composed of `\u003cnamespace_path\u003e:\u003cframework_id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/complianceFramework:ComplianceFramework sample \"top-level-group:gid://gitlab/ComplianceManagement::Framework/12345\"\n```\n\n", "properties": { "color": { "type": "string", @@ -8101,7 +8118,7 @@ } }, "gitlab:index/deployKey:DeployKey": { - "description": "The `gitlab.DeployKey` resource allows to manage the lifecycle of a deploy key.\n\n\u003e To enable an already existing deploy key for another project use the `gitlab_project_deploy_key` resource.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/deploy_keys.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.DeployKey(\"example\", {\n project: \"example/deploying\",\n title: \"Example deploy key\",\n key: \"ssh-ed25519 AAAA...\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.DeployKey(\"example\",\n project=\"example/deploying\",\n title=\"Example deploy key\",\n key=\"ssh-ed25519 AAAA...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.DeployKey(\"example\", new()\n {\n Project = \"example/deploying\",\n Title = \"Example deploy key\",\n Key = \"ssh-ed25519 AAAA...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewDeployKey(ctx, \"example\", \u0026gitlab.DeployKeyArgs{\n\t\t\tProject: pulumi.String(\"example/deploying\"),\n\t\t\tTitle: pulumi.String(\"Example deploy key\"),\n\t\t\tKey: pulumi.String(\"ssh-ed25519 AAAA...\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.DeployKey;\nimport com.pulumi.gitlab.DeployKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DeployKey(\"example\", DeployKeyArgs.builder()\n .project(\"example/deploying\")\n .title(\"Example deploy key\")\n .key(\"ssh-ed25519 AAAA...\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:DeployKey\n properties:\n project: example/deploying\n title: Example deploy key\n key: ssh-ed25519 AAAA...\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab deploy keys can be imported using an id made up of `{project_id}:{deploy_key_id}`, e.g.\n\n`project_id` can be whatever the [get single project api][get_single_project] takes for\n\nits `:id` value, so for example:\n\n```sh\n$ pulumi import gitlab:index/deployKey:DeployKey test 1:3\n```\n\n```sh\n$ pulumi import gitlab:index/deployKey:DeployKey test richardc/example:3\n```\n\n", + "description": "The `gitlab.DeployKey` resource allows to manage the lifecycle of a deploy key.\n\n\u003e To enable an already existing deploy key for another project use the `gitlab_project_deploy_key` resource.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/deploy_keys.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.DeployKey(\"example\", {\n project: \"example/deploying\",\n title: \"Example deploy key\",\n key: \"ssh-ed25519 AAAA...\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.DeployKey(\"example\",\n project=\"example/deploying\",\n title=\"Example deploy key\",\n key=\"ssh-ed25519 AAAA...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.DeployKey(\"example\", new()\n {\n Project = \"example/deploying\",\n Title = \"Example deploy key\",\n Key = \"ssh-ed25519 AAAA...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewDeployKey(ctx, \"example\", \u0026gitlab.DeployKeyArgs{\n\t\t\tProject: pulumi.String(\"example/deploying\"),\n\t\t\tTitle: pulumi.String(\"Example deploy key\"),\n\t\t\tKey: pulumi.String(\"ssh-ed25519 AAAA...\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.DeployKey;\nimport com.pulumi.gitlab.DeployKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DeployKey(\"example\", DeployKeyArgs.builder()\n .project(\"example/deploying\")\n .title(\"Example deploy key\")\n .key(\"ssh-ed25519 AAAA...\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:DeployKey\n properties:\n project: example/deploying\n title: Example deploy key\n key: ssh-ed25519 AAAA...\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab deploy keys can be imported using an id made up of `{project_id}:{deploy_key_id}`, e.g.\n\n`project_id` can be whatever the [get single project api][get_single_project] takes for\n\nits `:id` value, so for example:\n\n```sh\n$ pulumi import gitlab:index/deployKey:DeployKey test 1:3\n```\n\n```sh\n$ pulumi import gitlab:index/deployKey:DeployKey test richardc/example:3\n```\n\n", "properties": { "canPush": { "type": "boolean", @@ -8189,7 +8206,7 @@ } }, "gitlab:index/deployKeyEnable:DeployKeyEnable": { - "description": "The `gitlab.DeployKeyEnable` resource allows to enable an already existing deploy key (see `gitlab.DeployKey resource`) for a specific project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/deploy_keys.html#enable-a-deploy-key)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// A repo to host the deployment key\nconst parent = new gitlab.Project(\"parent\", {name: \"parent_project\"});\n// A second repo to use the deployment key from the parent project\nconst foo = new gitlab.Project(\"foo\", {name: \"foo_project\"});\n// Upload a deployment key for the parent repo\nconst parentDeployKey = new gitlab.DeployKey(\"parent\", {\n project: parent.id,\n title: \"Example deploy key\",\n key: \"ssh-ed25519 AAAA...\",\n});\n// Enable the deployment key on the second repo\nconst fooDeployKeyEnable = new gitlab.DeployKeyEnable(\"foo\", {\n project: foo.id,\n keyId: parentDeployKey.deployKeyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# A repo to host the deployment key\nparent = gitlab.Project(\"parent\", name=\"parent_project\")\n# A second repo to use the deployment key from the parent project\nfoo = gitlab.Project(\"foo\", name=\"foo_project\")\n# Upload a deployment key for the parent repo\nparent_deploy_key = gitlab.DeployKey(\"parent\",\n project=parent.id,\n title=\"Example deploy key\",\n key=\"ssh-ed25519 AAAA...\")\n# Enable the deployment key on the second repo\nfoo_deploy_key_enable = gitlab.DeployKeyEnable(\"foo\",\n project=foo.id,\n key_id=parent_deploy_key.deploy_key_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // A repo to host the deployment key\n var parent = new GitLab.Project(\"parent\", new()\n {\n Name = \"parent_project\",\n });\n\n // A second repo to use the deployment key from the parent project\n var foo = new GitLab.Project(\"foo\", new()\n {\n Name = \"foo_project\",\n });\n\n // Upload a deployment key for the parent repo\n var parentDeployKey = new GitLab.DeployKey(\"parent\", new()\n {\n Project = parent.Id,\n Title = \"Example deploy key\",\n Key = \"ssh-ed25519 AAAA...\",\n });\n\n // Enable the deployment key on the second repo\n var fooDeployKeyEnable = new GitLab.DeployKeyEnable(\"foo\", new()\n {\n Project = foo.Id,\n KeyId = parentDeployKey.DeployKeyId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// A repo to host the deployment key\n\t\tparent, err := gitlab.NewProject(ctx, \"parent\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"parent_project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A second repo to use the deployment key from the parent project\n\t\tfoo, err := gitlab.NewProject(ctx, \"foo\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo_project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Upload a deployment key for the parent repo\n\t\tparentDeployKey, err := gitlab.NewDeployKey(ctx, \"parent\", \u0026gitlab.DeployKeyArgs{\n\t\t\tProject: parent.ID(),\n\t\t\tTitle: pulumi.String(\"Example deploy key\"),\n\t\t\tKey: pulumi.String(\"ssh-ed25519 AAAA...\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Enable the deployment key on the second repo\n\t\t_, err = gitlab.NewDeployKeyEnable(ctx, \"foo\", \u0026gitlab.DeployKeyEnableArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tKeyId: parentDeployKey.DeployKeyId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.DeployKey;\nimport com.pulumi.gitlab.DeployKeyArgs;\nimport com.pulumi.gitlab.DeployKeyEnable;\nimport com.pulumi.gitlab.DeployKeyEnableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // A repo to host the deployment key\n var parent = new Project(\"parent\", ProjectArgs.builder()\n .name(\"parent_project\")\n .build());\n\n // A second repo to use the deployment key from the parent project\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo_project\")\n .build());\n\n // Upload a deployment key for the parent repo\n var parentDeployKey = new DeployKey(\"parentDeployKey\", DeployKeyArgs.builder()\n .project(parent.id())\n .title(\"Example deploy key\")\n .key(\"ssh-ed25519 AAAA...\")\n .build());\n\n // Enable the deployment key on the second repo\n var fooDeployKeyEnable = new DeployKeyEnable(\"fooDeployKeyEnable\", DeployKeyEnableArgs.builder()\n .project(foo.id())\n .keyId(parentDeployKey.deployKeyId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # A repo to host the deployment key\n parent:\n type: gitlab:Project\n properties:\n name: parent_project\n # A second repo to use the deployment key from the parent project\n foo:\n type: gitlab:Project\n properties:\n name: foo_project\n # Upload a deployment key for the parent repo\n parentDeployKey:\n type: gitlab:DeployKey\n name: parent\n properties:\n project: ${parent.id}\n title: Example deploy key\n key: ssh-ed25519 AAAA...\n # Enable the deployment key on the second repo\n fooDeployKeyEnable:\n type: gitlab:DeployKeyEnable\n name: foo\n properties:\n project: ${foo.id}\n keyId: ${parentDeployKey.deployKeyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab enabled deploy keys can be imported using an id made up of `{project_id}:{deploy_key_id}`, e.g.\n\n`project_id` can be whatever the [get single project api][get_single_project] takes for\n\nits `:id` value, so for example:\n\n```sh\n$ pulumi import gitlab:index/deployKeyEnable:DeployKeyEnable example 12345:67890\n```\n\n```sh\n$ pulumi import gitlab:index/deployKeyEnable:DeployKeyEnable example richardc/example:67890\n```\n\n", + "description": "The `gitlab.DeployKeyEnable` resource allows to enable an already existing deploy key (see `gitlab.DeployKey resource`) for a specific project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/deploy_keys.html#enable-a-deploy-key)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// A repo to host the deployment key\nconst parent = new gitlab.Project(\"parent\", {name: \"parent_project\"});\n// A second repo to use the deployment key from the parent project\nconst foo = new gitlab.Project(\"foo\", {name: \"foo_project\"});\n// Upload a deployment key for the parent repo\nconst parentDeployKey = new gitlab.DeployKey(\"parent\", {\n project: parent.id,\n title: \"Example deploy key\",\n key: \"ssh-ed25519 AAAA...\",\n});\n// Enable the deployment key on the second repo\nconst fooDeployKeyEnable = new gitlab.DeployKeyEnable(\"foo\", {\n project: foo.id,\n keyId: parentDeployKey.deployKeyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# A repo to host the deployment key\nparent = gitlab.Project(\"parent\", name=\"parent_project\")\n# A second repo to use the deployment key from the parent project\nfoo = gitlab.Project(\"foo\", name=\"foo_project\")\n# Upload a deployment key for the parent repo\nparent_deploy_key = gitlab.DeployKey(\"parent\",\n project=parent.id,\n title=\"Example deploy key\",\n key=\"ssh-ed25519 AAAA...\")\n# Enable the deployment key on the second repo\nfoo_deploy_key_enable = gitlab.DeployKeyEnable(\"foo\",\n project=foo.id,\n key_id=parent_deploy_key.deploy_key_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // A repo to host the deployment key\n var parent = new GitLab.Project(\"parent\", new()\n {\n Name = \"parent_project\",\n });\n\n // A second repo to use the deployment key from the parent project\n var foo = new GitLab.Project(\"foo\", new()\n {\n Name = \"foo_project\",\n });\n\n // Upload a deployment key for the parent repo\n var parentDeployKey = new GitLab.DeployKey(\"parent\", new()\n {\n Project = parent.Id,\n Title = \"Example deploy key\",\n Key = \"ssh-ed25519 AAAA...\",\n });\n\n // Enable the deployment key on the second repo\n var fooDeployKeyEnable = new GitLab.DeployKeyEnable(\"foo\", new()\n {\n Project = foo.Id,\n KeyId = parentDeployKey.DeployKeyId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// A repo to host the deployment key\n\t\tparent, err := gitlab.NewProject(ctx, \"parent\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"parent_project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A second repo to use the deployment key from the parent project\n\t\tfoo, err := gitlab.NewProject(ctx, \"foo\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo_project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Upload a deployment key for the parent repo\n\t\tparentDeployKey, err := gitlab.NewDeployKey(ctx, \"parent\", \u0026gitlab.DeployKeyArgs{\n\t\t\tProject: parent.ID(),\n\t\t\tTitle: pulumi.String(\"Example deploy key\"),\n\t\t\tKey: pulumi.String(\"ssh-ed25519 AAAA...\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Enable the deployment key on the second repo\n\t\t_, err = gitlab.NewDeployKeyEnable(ctx, \"foo\", \u0026gitlab.DeployKeyEnableArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tKeyId: parentDeployKey.DeployKeyId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.DeployKey;\nimport com.pulumi.gitlab.DeployKeyArgs;\nimport com.pulumi.gitlab.DeployKeyEnable;\nimport com.pulumi.gitlab.DeployKeyEnableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // A repo to host the deployment key\n var parent = new Project(\"parent\", ProjectArgs.builder()\n .name(\"parent_project\")\n .build());\n\n // A second repo to use the deployment key from the parent project\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo_project\")\n .build());\n\n // Upload a deployment key for the parent repo\n var parentDeployKey = new DeployKey(\"parentDeployKey\", DeployKeyArgs.builder()\n .project(parent.id())\n .title(\"Example deploy key\")\n .key(\"ssh-ed25519 AAAA...\")\n .build());\n\n // Enable the deployment key on the second repo\n var fooDeployKeyEnable = new DeployKeyEnable(\"fooDeployKeyEnable\", DeployKeyEnableArgs.builder()\n .project(foo.id())\n .keyId(parentDeployKey.deployKeyId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # A repo to host the deployment key\n parent:\n type: gitlab:Project\n properties:\n name: parent_project\n # A second repo to use the deployment key from the parent project\n foo:\n type: gitlab:Project\n properties:\n name: foo_project\n # Upload a deployment key for the parent repo\n parentDeployKey:\n type: gitlab:DeployKey\n name: parent\n properties:\n project: ${parent.id}\n title: Example deploy key\n key: ssh-ed25519 AAAA...\n # Enable the deployment key on the second repo\n fooDeployKeyEnable:\n type: gitlab:DeployKeyEnable\n name: foo\n properties:\n project: ${foo.id}\n keyId: ${parentDeployKey.deployKeyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab enabled deploy keys can be imported using an id made up of `{project_id}:{deploy_key_id}`, e.g.\n\n`project_id` can be whatever the [get single project api][get_single_project] takes for\n\nits `:id` value, so for example:\n\n```sh\n$ pulumi import gitlab:index/deployKeyEnable:DeployKeyEnable example 12345:67890\n```\n\n```sh\n$ pulumi import gitlab:index/deployKeyEnable:DeployKeyEnable example richardc/example:67890\n```\n\n", "properties": { "canPush": { "type": "boolean", @@ -8661,7 +8678,7 @@ } }, "gitlab:index/group:Group": { - "description": "The `gitlab.Group` resource allows to manage the lifecycle of a group.\n\n\u003e On GitLab SaaS, you must use the GitLab UI to create groups without a parent group. You cannot use this provider nor the API to do this.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.Group(\"example\", {\n name: \"example\",\n path: \"example\",\n description: \"An example group\",\n});\n// Create a project in the example group\nconst exampleProject = new gitlab.Project(\"example\", {\n name: \"example\",\n description: \"An example project\",\n namespaceId: example.id,\n});\n// Group with custom push rules\nconst example_two = new gitlab.Group(\"example-two\", {\n name: \"example-two\",\n path: \"example-two\",\n description: \"An example group with push rules\",\n pushRules: {\n authorEmailRegex: \"@example\\\\.com$\",\n commitCommitterCheck: true,\n memberCheck: true,\n preventSecrets: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.Group(\"example\",\n name=\"example\",\n path=\"example\",\n description=\"An example group\")\n# Create a project in the example group\nexample_project = gitlab.Project(\"example\",\n name=\"example\",\n description=\"An example project\",\n namespace_id=example.id)\n# Group with custom push rules\nexample_two = gitlab.Group(\"example-two\",\n name=\"example-two\",\n path=\"example-two\",\n description=\"An example group with push rules\",\n push_rules=gitlab.GroupPushRulesArgs(\n author_email_regex=\"@example\\\\.com$\",\n commit_committer_check=True,\n member_check=True,\n prevent_secrets=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.Group(\"example\", new()\n {\n Name = \"example\",\n Path = \"example\",\n Description = \"An example group\",\n });\n\n // Create a project in the example group\n var exampleProject = new GitLab.Project(\"example\", new()\n {\n Name = \"example\",\n Description = \"An example project\",\n NamespaceId = example.Id,\n });\n\n // Group with custom push rules\n var example_two = new GitLab.Group(\"example-two\", new()\n {\n Name = \"example-two\",\n Path = \"example-two\",\n Description = \"An example group with push rules\",\n PushRules = new GitLab.Inputs.GroupPushRulesArgs\n {\n AuthorEmailRegex = \"@example\\\\.com$\",\n CommitCommitterCheck = true,\n MemberCheck = true,\n PreventSecrets = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewGroup(ctx, \"example\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a project in the example group\n\t\t_, err = gitlab.NewProject(ctx, \"example\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example project\"),\n\t\t\tNamespaceId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Group with custom push rules\n\t\t_, err = gitlab.NewGroup(ctx, \"example-two\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"example-two\"),\n\t\t\tPath: pulumi.String(\"example-two\"),\n\t\t\tDescription: pulumi.String(\"An example group with push rules\"),\n\t\t\tPushRules: \u0026gitlab.GroupPushRulesArgs{\n\t\t\t\tAuthorEmailRegex: pulumi.String(\"@example\\\\.com$\"),\n\t\t\t\tCommitCommitterCheck: pulumi.Bool(true),\n\t\t\t\tMemberCheck: pulumi.Bool(true),\n\t\t\t\tPreventSecrets: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.inputs.GroupPushRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Group(\"example\", GroupArgs.builder()\n .name(\"example\")\n .path(\"example\")\n .description(\"An example group\")\n .build());\n\n // Create a project in the example group\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n .name(\"example\")\n .description(\"An example project\")\n .namespaceId(example.id())\n .build());\n\n // Group with custom push rules\n var example_two = new Group(\"example-two\", GroupArgs.builder()\n .name(\"example-two\")\n .path(\"example-two\")\n .description(\"An example group with push rules\")\n .pushRules(GroupPushRulesArgs.builder()\n .authorEmailRegex(\"@example\\\\.com$\")\n .commitCommitterCheck(true)\n .memberCheck(true)\n .preventSecrets(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:Group\n properties:\n name: example\n path: example\n description: An example group\n # Create a project in the example group\n exampleProject:\n type: gitlab:Project\n name: example\n properties:\n name: example\n description: An example project\n namespaceId: ${example.id}\n # Group with custom push rules\n example-two:\n type: gitlab:Group\n properties:\n name: example-two\n path: example-two\n description: An example group with push rules\n pushRules:\n authorEmailRegex: '@example\\.com$'\n commitCommitterCheck: true\n memberCheck: true\n preventSecrets: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import gitlab:index/group:Group You can import a group state using `\u003cresource\u003e \u003cid\u003e`. The\n```\n\n`id` can be whatever the [details of a group][details_of_a_group] api takes for\n\nits `:id` value, so for example:\n\n```sh\n$ pulumi import gitlab:index/group:Group example example\n```\n\n", + "description": "The `gitlab.Group` resource allows to manage the lifecycle of a group.\n\n\u003e On GitLab SaaS, you must use the GitLab UI to create groups without a parent group. You cannot use this provider nor the API to do this.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.Group(\"example\", {\n name: \"example\",\n path: \"example\",\n description: \"An example group\",\n});\n// Create a project in the example group\nconst exampleProject = new gitlab.Project(\"example\", {\n name: \"example\",\n description: \"An example project\",\n namespaceId: example.id,\n});\n// Group with custom push rules\nconst example_two = new gitlab.Group(\"example-two\", {\n name: \"example-two\",\n path: \"example-two\",\n description: \"An example group with push rules\",\n pushRules: {\n authorEmailRegex: \"@example\\\\.com$\",\n commitCommitterCheck: true,\n memberCheck: true,\n preventSecrets: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.Group(\"example\",\n name=\"example\",\n path=\"example\",\n description=\"An example group\")\n# Create a project in the example group\nexample_project = gitlab.Project(\"example\",\n name=\"example\",\n description=\"An example project\",\n namespace_id=example.id)\n# Group with custom push rules\nexample_two = gitlab.Group(\"example-two\",\n name=\"example-two\",\n path=\"example-two\",\n description=\"An example group with push rules\",\n push_rules=gitlab.GroupPushRulesArgs(\n author_email_regex=\"@example\\\\.com$\",\n commit_committer_check=True,\n member_check=True,\n prevent_secrets=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.Group(\"example\", new()\n {\n Name = \"example\",\n Path = \"example\",\n Description = \"An example group\",\n });\n\n // Create a project in the example group\n var exampleProject = new GitLab.Project(\"example\", new()\n {\n Name = \"example\",\n Description = \"An example project\",\n NamespaceId = example.Id,\n });\n\n // Group with custom push rules\n var example_two = new GitLab.Group(\"example-two\", new()\n {\n Name = \"example-two\",\n Path = \"example-two\",\n Description = \"An example group with push rules\",\n PushRules = new GitLab.Inputs.GroupPushRulesArgs\n {\n AuthorEmailRegex = \"@example\\\\.com$\",\n CommitCommitterCheck = true,\n MemberCheck = true,\n PreventSecrets = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewGroup(ctx, \"example\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a project in the example group\n\t\t_, err = gitlab.NewProject(ctx, \"example\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example project\"),\n\t\t\tNamespaceId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Group with custom push rules\n\t\t_, err = gitlab.NewGroup(ctx, \"example-two\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"example-two\"),\n\t\t\tPath: pulumi.String(\"example-two\"),\n\t\t\tDescription: pulumi.String(\"An example group with push rules\"),\n\t\t\tPushRules: \u0026gitlab.GroupPushRulesArgs{\n\t\t\t\tAuthorEmailRegex: pulumi.String(\"@example\\\\.com$\"),\n\t\t\t\tCommitCommitterCheck: pulumi.Bool(true),\n\t\t\t\tMemberCheck: pulumi.Bool(true),\n\t\t\t\tPreventSecrets: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.inputs.GroupPushRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Group(\"example\", GroupArgs.builder()\n .name(\"example\")\n .path(\"example\")\n .description(\"An example group\")\n .build());\n\n // Create a project in the example group\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n .name(\"example\")\n .description(\"An example project\")\n .namespaceId(example.id())\n .build());\n\n // Group with custom push rules\n var example_two = new Group(\"example-two\", GroupArgs.builder()\n .name(\"example-two\")\n .path(\"example-two\")\n .description(\"An example group with push rules\")\n .pushRules(GroupPushRulesArgs.builder()\n .authorEmailRegex(\"@example\\\\.com$\")\n .commitCommitterCheck(true)\n .memberCheck(true)\n .preventSecrets(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:Group\n properties:\n name: example\n path: example\n description: An example group\n # Create a project in the example group\n exampleProject:\n type: gitlab:Project\n name: example\n properties:\n name: example\n description: An example project\n namespaceId: ${example.id}\n # Group with custom push rules\n example-two:\n type: gitlab:Group\n properties:\n name: example-two\n path: example-two\n description: An example group with push rules\n pushRules:\n authorEmailRegex: '@example\\.com$'\n commitCommitterCheck: true\n memberCheck: true\n preventSecrets: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import gitlab:index/group:Group You can import a group state using `\u003cresource\u003e \u003cid\u003e`. The\n```\n\n`id` can be whatever the [details of a group][details_of_a_group] api takes for\n\nits `:id` value, so for example:\n\n```sh\n$ pulumi import gitlab:index/group:Group example example\n```\n\n", "properties": { "autoDevopsEnabled": { "type": "boolean", @@ -8687,11 +8704,6 @@ "type": "string", "description": "The group's description.\n" }, - "emailsDisabled": { - "type": "boolean", - "description": "Disable email notifications.\n", - "deprecationMessage": "use `emails_enabled` instead" - }, "emailsEnabled": { "type": "boolean", "description": "Enable email notifications.\n" @@ -8802,7 +8814,6 @@ "avatarHash", "avatarUrl", "defaultBranchProtection", - "emailsDisabled", "emailsEnabled", "extraSharedRunnersMinutesLimit", "fullName", @@ -8848,11 +8859,6 @@ "type": "string", "description": "The group's description.\n" }, - "emailsDisabled": { - "type": "boolean", - "description": "Disable email notifications.\n", - "deprecationMessage": "use `emails_enabled` instead" - }, "emailsEnabled": { "type": "boolean", "description": "Enable email notifications.\n" @@ -8971,11 +8977,6 @@ "type": "string", "description": "The group's description.\n" }, - "emailsDisabled": { - "type": "boolean", - "description": "Disable email notifications.\n", - "deprecationMessage": "use `emails_enabled` instead" - }, "emailsEnabled": { "type": "boolean", "description": "Enable email notifications.\n" @@ -9085,11 +9086,11 @@ } }, "gitlab:index/groupAccessToken:GroupAccessToken": { - "description": "The `gitlab.GroupAccessToken`resource allows to manage the lifecycle of a group access token.\n\n\u003e Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/ee/operations/tracing.html)\n\n\u003e Use `rotation_configuration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `pulumi up` must still be run to rotate the token.\n\n\u003e Due to [Automatic reuse detection](https://docs.gitlab.com/ee/api/group_access_tokens.html#automatic-reuse-detection) it's possible that a new Group Access Token will immediately be revoked. Check if an old process using the old token is running if this happens.\n\n**Upstream API**: [GitLab REST API](https://docs.gitlab.com/ee/api/group_access_tokens.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.GroupAccessToken(\"example\", {\n group: \"25\",\n name: \"Example project access token\",\n expiresAt: \"2020-03-14\",\n accessLevel: \"developer\",\n scopes: [\"api\"],\n});\nconst exampleGroupVariable = new gitlab.GroupVariable(\"example\", {\n group: \"25\",\n key: \"gat\",\n value: example.token,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.GroupAccessToken(\"example\",\n group=\"25\",\n name=\"Example project access token\",\n expires_at=\"2020-03-14\",\n access_level=\"developer\",\n scopes=[\"api\"])\nexample_group_variable = gitlab.GroupVariable(\"example\",\n group=\"25\",\n key=\"gat\",\n value=example.token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.GroupAccessToken(\"example\", new()\n {\n Group = \"25\",\n Name = \"Example project access token\",\n ExpiresAt = \"2020-03-14\",\n AccessLevel = \"developer\",\n Scopes = new[]\n {\n \"api\",\n },\n });\n\n var exampleGroupVariable = new GitLab.GroupVariable(\"example\", new()\n {\n Group = \"25\",\n Key = \"gat\",\n Value = example.Token,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewGroupAccessToken(ctx, \"example\", \u0026gitlab.GroupAccessTokenArgs{\n\t\t\tGroup: pulumi.String(\"25\"),\n\t\t\tName: pulumi.String(\"Example project access token\"),\n\t\t\tExpiresAt: pulumi.String(\"2020-03-14\"),\n\t\t\tAccessLevel: pulumi.String(\"developer\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupVariable(ctx, \"example\", \u0026gitlab.GroupVariableArgs{\n\t\t\tGroup: pulumi.String(\"25\"),\n\t\t\tKey: pulumi.String(\"gat\"),\n\t\t\tValue: example.Token,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupAccessToken;\nimport com.pulumi.gitlab.GroupAccessTokenArgs;\nimport com.pulumi.gitlab.GroupVariable;\nimport com.pulumi.gitlab.GroupVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GroupAccessToken(\"example\", GroupAccessTokenArgs.builder()\n .group(\"25\")\n .name(\"Example project access token\")\n .expiresAt(\"2020-03-14\")\n .accessLevel(\"developer\")\n .scopes(\"api\")\n .build());\n\n var exampleGroupVariable = new GroupVariable(\"exampleGroupVariable\", GroupVariableArgs.builder()\n .group(\"25\")\n .key(\"gat\")\n .value(example.token())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:GroupAccessToken\n properties:\n group: '25'\n name: Example project access token\n expiresAt: 2020-03-14\n accessLevel: developer\n scopes:\n - api\n exampleGroupVariable:\n type: gitlab:GroupVariable\n name: example\n properties:\n group: '25'\n key: gat\n value: ${example.token}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA GitLab Group Access Token can be imported using a key composed of `\u003cgroup-id\u003e:\u003ctoken-id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupAccessToken:GroupAccessToken example \"12345:1\"\n```\n\nATTENTION: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", + "description": "The `gitlab.GroupAccessToken`resource allows to manage the lifecycle of a group access token.\n\n\u003e Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/ee/operations/tracing.html)\n\n\u003e Use `rotation_configuration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `pulumi up` must still be run to rotate the token.\n\n\u003e Due to [Automatic reuse detection](https://docs.gitlab.com/ee/api/group_access_tokens.html#automatic-reuse-detection) it's possible that a new Group Access Token will immediately be revoked. Check if an old process using the old token is running if this happens.\n\n**Upstream API**: [GitLab REST API](https://docs.gitlab.com/ee/api/group_access_tokens.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.GroupAccessToken(\"example\", {\n group: \"25\",\n name: \"Example project access token\",\n expiresAt: \"2020-03-14\",\n accessLevel: \"developer\",\n scopes: [\"api\"],\n});\nconst exampleGroupVariable = new gitlab.GroupVariable(\"example\", {\n group: \"25\",\n key: \"gat\",\n value: example.token,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.GroupAccessToken(\"example\",\n group=\"25\",\n name=\"Example project access token\",\n expires_at=\"2020-03-14\",\n access_level=\"developer\",\n scopes=[\"api\"])\nexample_group_variable = gitlab.GroupVariable(\"example\",\n group=\"25\",\n key=\"gat\",\n value=example.token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.GroupAccessToken(\"example\", new()\n {\n Group = \"25\",\n Name = \"Example project access token\",\n ExpiresAt = \"2020-03-14\",\n AccessLevel = \"developer\",\n Scopes = new[]\n {\n \"api\",\n },\n });\n\n var exampleGroupVariable = new GitLab.GroupVariable(\"example\", new()\n {\n Group = \"25\",\n Key = \"gat\",\n Value = example.Token,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewGroupAccessToken(ctx, \"example\", \u0026gitlab.GroupAccessTokenArgs{\n\t\t\tGroup: pulumi.String(\"25\"),\n\t\t\tName: pulumi.String(\"Example project access token\"),\n\t\t\tExpiresAt: pulumi.String(\"2020-03-14\"),\n\t\t\tAccessLevel: pulumi.String(\"developer\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupVariable(ctx, \"example\", \u0026gitlab.GroupVariableArgs{\n\t\t\tGroup: pulumi.String(\"25\"),\n\t\t\tKey: pulumi.String(\"gat\"),\n\t\t\tValue: example.Token,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupAccessToken;\nimport com.pulumi.gitlab.GroupAccessTokenArgs;\nimport com.pulumi.gitlab.GroupVariable;\nimport com.pulumi.gitlab.GroupVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GroupAccessToken(\"example\", GroupAccessTokenArgs.builder()\n .group(\"25\")\n .name(\"Example project access token\")\n .expiresAt(\"2020-03-14\")\n .accessLevel(\"developer\")\n .scopes(\"api\")\n .build());\n\n var exampleGroupVariable = new GroupVariable(\"exampleGroupVariable\", GroupVariableArgs.builder()\n .group(\"25\")\n .key(\"gat\")\n .value(example.token())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:GroupAccessToken\n properties:\n group: '25'\n name: Example project access token\n expiresAt: 2020-03-14\n accessLevel: developer\n scopes:\n - api\n exampleGroupVariable:\n type: gitlab:GroupVariable\n name: example\n properties:\n group: '25'\n key: gat\n value: ${example.token}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA GitLab Group Access Token can be imported using a key composed of `\u003cgroup-id\u003e:\u003ctoken-id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupAccessToken:GroupAccessToken example \"12345:1\"\n```\n\nATTENTION: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", "properties": { "accessLevel": { "type": "string", - "description": "The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`.\n" + "description": "The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`.\n" }, "active": { "type": "boolean", @@ -9151,7 +9152,7 @@ "inputProperties": { "accessLevel": { "type": "string", - "description": "The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`.\n" + "description": "The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`.\n" }, "expiresAt": { "type": "string", @@ -9186,7 +9187,7 @@ "properties": { "accessLevel": { "type": "string", - "description": "The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`.\n" + "description": "The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`.\n" }, "active": { "type": "boolean", @@ -9237,7 +9238,7 @@ } }, "gitlab:index/groupBadge:GroupBadge": { - "description": "The `gitlab.GroupBadge` resource allows to manage the lifecycle of group badges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/user/project/badges.html#group-badges)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Group(\"foo\", {name: \"foo-group\"});\nconst example = new gitlab.GroupBadge(\"example\", {\n group: foo.id,\n linkUrl: \"https://example.com/badge-123\",\n imageUrl: \"https://example.com/badge-123.svg\",\n});\n// Pipeline status badges with placeholders will be enabled for each project\nconst gitlabPipeline = new gitlab.GroupBadge(\"gitlab_pipeline\", {\n group: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\",\n});\n// Test coverage report badges with placeholders will be enabled for each project\nconst gitlabCoverage = new gitlab.GroupBadge(\"gitlab_coverage\", {\n group: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/jobs\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\",\n});\n// Latest release badges with placeholders will be enabled for each project\nconst gitlabRelease = new gitlab.GroupBadge(\"gitlab_release\", {\n group: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/releases\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/-/badges/release.svg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Group(\"foo\", name=\"foo-group\")\nexample = gitlab.GroupBadge(\"example\",\n group=foo.id,\n link_url=\"https://example.com/badge-123\",\n image_url=\"https://example.com/badge-123.svg\")\n# Pipeline status badges with placeholders will be enabled for each project\ngitlab_pipeline = gitlab.GroupBadge(\"gitlab_pipeline\",\n group=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n image_url=\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\")\n# Test coverage report badges with placeholders will be enabled for each project\ngitlab_coverage = gitlab.GroupBadge(\"gitlab_coverage\",\n group=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/jobs\",\n image_url=\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\")\n# Latest release badges with placeholders will be enabled for each project\ngitlab_release = gitlab.GroupBadge(\"gitlab_release\",\n group=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/releases\",\n image_url=\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Group(\"foo\", new()\n {\n Name = \"foo-group\",\n });\n\n var example = new GitLab.GroupBadge(\"example\", new()\n {\n Group = foo.Id,\n LinkUrl = \"https://example.com/badge-123\",\n ImageUrl = \"https://example.com/badge-123.svg\",\n });\n\n // Pipeline status badges with placeholders will be enabled for each project\n var gitlabPipeline = new GitLab.GroupBadge(\"gitlab_pipeline\", new()\n {\n Group = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\",\n });\n\n // Test coverage report badges with placeholders will be enabled for each project\n var gitlabCoverage = new GitLab.GroupBadge(\"gitlab_coverage\", new()\n {\n Group = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/jobs\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\",\n });\n\n // Latest release badges with placeholders will be enabled for each project\n var gitlabRelease = new GitLab.GroupBadge(\"gitlab_release\", new()\n {\n Group = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/releases\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/-/badges/release.svg\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewGroup(ctx, \"foo\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"foo-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupBadge(ctx, \"example\", \u0026gitlab.GroupBadgeArgs{\n\t\t\tGroup: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://example.com/badge-123\"),\n\t\t\tImageUrl: pulumi.String(\"https://example.com/badge-123.svg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Pipeline status badges with placeholders will be enabled for each project\n\t\t_, err = gitlab.NewGroupBadge(ctx, \"gitlab_pipeline\", \u0026gitlab.GroupBadgeArgs{\n\t\t\tGroup: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Test coverage report badges with placeholders will be enabled for each project\n\t\t_, err = gitlab.NewGroupBadge(ctx, \"gitlab_coverage\", \u0026gitlab.GroupBadgeArgs{\n\t\t\tGroup: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/jobs\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Latest release badges with placeholders will be enabled for each project\n\t\t_, err = gitlab.NewGroupBadge(ctx, \"gitlab_release\", \u0026gitlab.GroupBadgeArgs{\n\t\t\tGroup: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/releases\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.GroupBadge;\nimport com.pulumi.gitlab.GroupBadgeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Group(\"foo\", GroupArgs.builder()\n .name(\"foo-group\")\n .build());\n\n var example = new GroupBadge(\"example\", GroupBadgeArgs.builder()\n .group(foo.id())\n .linkUrl(\"https://example.com/badge-123\")\n .imageUrl(\"https://example.com/badge-123.svg\")\n .build());\n\n // Pipeline status badges with placeholders will be enabled for each project\n var gitlabPipeline = new GroupBadge(\"gitlabPipeline\", GroupBadgeArgs.builder()\n .group(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\")\n .build());\n\n // Test coverage report badges with placeholders will be enabled for each project\n var gitlabCoverage = new GroupBadge(\"gitlabCoverage\", GroupBadgeArgs.builder()\n .group(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/jobs\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\")\n .build());\n\n // Latest release badges with placeholders will be enabled for each project\n var gitlabRelease = new GroupBadge(\"gitlabRelease\", GroupBadgeArgs.builder()\n .group(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/releases\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Group\n properties:\n name: foo-group\n example:\n type: gitlab:GroupBadge\n properties:\n group: ${foo.id}\n linkUrl: https://example.com/badge-123\n imageUrl: https://example.com/badge-123.svg\n # Pipeline status badges with placeholders will be enabled for each project\n gitlabPipeline:\n type: gitlab:GroupBadge\n name: gitlab_pipeline\n properties:\n group: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\n imageUrl: https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\n # Test coverage report badges with placeholders will be enabled for each project\n gitlabCoverage:\n type: gitlab:GroupBadge\n name: gitlab_coverage\n properties:\n group: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/jobs\n imageUrl: https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\n # Latest release badges with placeholders will be enabled for each project\n gitlabRelease:\n type: gitlab:GroupBadge\n name: gitlab_release\n properties:\n group: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/releases\n imageUrl: https://gitlab.example.com/%{project_path}/-/badges/release.svg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group badges can be imported using an id made up of `{group_id}:{badge_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupBadge:GroupBadge foo 1:3\n```\n\n", + "description": "The `gitlab.GroupBadge` resource allows to manage the lifecycle of group badges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/user/project/badges.html#group-badges)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Group(\"foo\", {name: \"foo-group\"});\nconst example = new gitlab.GroupBadge(\"example\", {\n group: foo.id,\n linkUrl: \"https://example.com/badge-123\",\n imageUrl: \"https://example.com/badge-123.svg\",\n});\n// Pipeline status badges with placeholders will be enabled for each project\nconst gitlabPipeline = new gitlab.GroupBadge(\"gitlab_pipeline\", {\n group: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\",\n});\n// Test coverage report badges with placeholders will be enabled for each project\nconst gitlabCoverage = new gitlab.GroupBadge(\"gitlab_coverage\", {\n group: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/jobs\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\",\n});\n// Latest release badges with placeholders will be enabled for each project\nconst gitlabRelease = new gitlab.GroupBadge(\"gitlab_release\", {\n group: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/releases\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/-/badges/release.svg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Group(\"foo\", name=\"foo-group\")\nexample = gitlab.GroupBadge(\"example\",\n group=foo.id,\n link_url=\"https://example.com/badge-123\",\n image_url=\"https://example.com/badge-123.svg\")\n# Pipeline status badges with placeholders will be enabled for each project\ngitlab_pipeline = gitlab.GroupBadge(\"gitlab_pipeline\",\n group=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n image_url=\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\")\n# Test coverage report badges with placeholders will be enabled for each project\ngitlab_coverage = gitlab.GroupBadge(\"gitlab_coverage\",\n group=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/jobs\",\n image_url=\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\")\n# Latest release badges with placeholders will be enabled for each project\ngitlab_release = gitlab.GroupBadge(\"gitlab_release\",\n group=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/releases\",\n image_url=\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Group(\"foo\", new()\n {\n Name = \"foo-group\",\n });\n\n var example = new GitLab.GroupBadge(\"example\", new()\n {\n Group = foo.Id,\n LinkUrl = \"https://example.com/badge-123\",\n ImageUrl = \"https://example.com/badge-123.svg\",\n });\n\n // Pipeline status badges with placeholders will be enabled for each project\n var gitlabPipeline = new GitLab.GroupBadge(\"gitlab_pipeline\", new()\n {\n Group = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\",\n });\n\n // Test coverage report badges with placeholders will be enabled for each project\n var gitlabCoverage = new GitLab.GroupBadge(\"gitlab_coverage\", new()\n {\n Group = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/jobs\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\",\n });\n\n // Latest release badges with placeholders will be enabled for each project\n var gitlabRelease = new GitLab.GroupBadge(\"gitlab_release\", new()\n {\n Group = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/releases\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/-/badges/release.svg\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewGroup(ctx, \"foo\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"foo-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupBadge(ctx, \"example\", \u0026gitlab.GroupBadgeArgs{\n\t\t\tGroup: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://example.com/badge-123\"),\n\t\t\tImageUrl: pulumi.String(\"https://example.com/badge-123.svg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Pipeline status badges with placeholders will be enabled for each project\n\t\t_, err = gitlab.NewGroupBadge(ctx, \"gitlab_pipeline\", \u0026gitlab.GroupBadgeArgs{\n\t\t\tGroup: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Test coverage report badges with placeholders will be enabled for each project\n\t\t_, err = gitlab.NewGroupBadge(ctx, \"gitlab_coverage\", \u0026gitlab.GroupBadgeArgs{\n\t\t\tGroup: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/jobs\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Latest release badges with placeholders will be enabled for each project\n\t\t_, err = gitlab.NewGroupBadge(ctx, \"gitlab_release\", \u0026gitlab.GroupBadgeArgs{\n\t\t\tGroup: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/releases\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.GroupBadge;\nimport com.pulumi.gitlab.GroupBadgeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Group(\"foo\", GroupArgs.builder()\n .name(\"foo-group\")\n .build());\n\n var example = new GroupBadge(\"example\", GroupBadgeArgs.builder()\n .group(foo.id())\n .linkUrl(\"https://example.com/badge-123\")\n .imageUrl(\"https://example.com/badge-123.svg\")\n .build());\n\n // Pipeline status badges with placeholders will be enabled for each project\n var gitlabPipeline = new GroupBadge(\"gitlabPipeline\", GroupBadgeArgs.builder()\n .group(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\")\n .build());\n\n // Test coverage report badges with placeholders will be enabled for each project\n var gitlabCoverage = new GroupBadge(\"gitlabCoverage\", GroupBadgeArgs.builder()\n .group(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/jobs\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\")\n .build());\n\n // Latest release badges with placeholders will be enabled for each project\n var gitlabRelease = new GroupBadge(\"gitlabRelease\", GroupBadgeArgs.builder()\n .group(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/releases\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Group\n properties:\n name: foo-group\n example:\n type: gitlab:GroupBadge\n properties:\n group: ${foo.id}\n linkUrl: https://example.com/badge-123\n imageUrl: https://example.com/badge-123.svg\n # Pipeline status badges with placeholders will be enabled for each project\n gitlabPipeline:\n type: gitlab:GroupBadge\n name: gitlab_pipeline\n properties:\n group: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\n imageUrl: https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\n # Test coverage report badges with placeholders will be enabled for each project\n gitlabCoverage:\n type: gitlab:GroupBadge\n name: gitlab_coverage\n properties:\n group: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/jobs\n imageUrl: https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\n # Latest release badges with placeholders will be enabled for each project\n gitlabRelease:\n type: gitlab:GroupBadge\n name: gitlab_release\n properties:\n group: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/releases\n imageUrl: https://gitlab.example.com/%{project_path}/-/badges/release.svg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group badges can be imported using an id made up of `{group_id}:{badge_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupBadge:GroupBadge foo 1:3\n```\n\n", "properties": { "group": { "type": "string", @@ -9327,7 +9328,7 @@ } }, "gitlab:index/groupCluster:GroupCluster": { - "description": "The `gitlab.GroupCluster` resource allows to manage the lifecycle of a group cluster.\n\n\u003e This is deprecated GitLab feature since 14.5\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/group_clusters.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Group(\"foo\", {\n name: \"foo-group\",\n path: \"foo-path\",\n});\nconst bar = new gitlab.GroupCluster(\"bar\", {\n group: foo.id,\n name: \"bar-cluster\",\n domain: \"example.com\",\n enabled: true,\n kubernetesApiUrl: \"https://124.124.124\",\n kubernetesToken: \"some-token\",\n kubernetesCaCert: \"some-cert\",\n kubernetesAuthorizationType: \"rbac\",\n environmentScope: \"*\",\n managementProjectId: \"123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Group(\"foo\",\n name=\"foo-group\",\n path=\"foo-path\")\nbar = gitlab.GroupCluster(\"bar\",\n group=foo.id,\n name=\"bar-cluster\",\n domain=\"example.com\",\n enabled=True,\n kubernetes_api_url=\"https://124.124.124\",\n kubernetes_token=\"some-token\",\n kubernetes_ca_cert=\"some-cert\",\n kubernetes_authorization_type=\"rbac\",\n environment_scope=\"*\",\n management_project_id=\"123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Group(\"foo\", new()\n {\n Name = \"foo-group\",\n Path = \"foo-path\",\n });\n\n var bar = new GitLab.GroupCluster(\"bar\", new()\n {\n Group = foo.Id,\n Name = \"bar-cluster\",\n Domain = \"example.com\",\n Enabled = true,\n KubernetesApiUrl = \"https://124.124.124\",\n KubernetesToken = \"some-token\",\n KubernetesCaCert = \"some-cert\",\n KubernetesAuthorizationType = \"rbac\",\n EnvironmentScope = \"*\",\n ManagementProjectId = \"123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewGroup(ctx, \"foo\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"foo-group\"),\n\t\t\tPath: pulumi.String(\"foo-path\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupCluster(ctx, \"bar\", \u0026gitlab.GroupClusterArgs{\n\t\t\tGroup: foo.ID(),\n\t\t\tName: pulumi.String(\"bar-cluster\"),\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tKubernetesApiUrl: pulumi.String(\"https://124.124.124\"),\n\t\t\tKubernetesToken: pulumi.String(\"some-token\"),\n\t\t\tKubernetesCaCert: pulumi.String(\"some-cert\"),\n\t\t\tKubernetesAuthorizationType: pulumi.String(\"rbac\"),\n\t\t\tEnvironmentScope: pulumi.String(\"*\"),\n\t\t\tManagementProjectId: pulumi.String(\"123456\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.GroupCluster;\nimport com.pulumi.gitlab.GroupClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Group(\"foo\", GroupArgs.builder()\n .name(\"foo-group\")\n .path(\"foo-path\")\n .build());\n\n var bar = new GroupCluster(\"bar\", GroupClusterArgs.builder()\n .group(foo.id())\n .name(\"bar-cluster\")\n .domain(\"example.com\")\n .enabled(true)\n .kubernetesApiUrl(\"https://124.124.124\")\n .kubernetesToken(\"some-token\")\n .kubernetesCaCert(\"some-cert\")\n .kubernetesAuthorizationType(\"rbac\")\n .environmentScope(\"*\")\n .managementProjectId(\"123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Group\n properties:\n name: foo-group\n path: foo-path\n bar:\n type: gitlab:GroupCluster\n properties:\n group: ${foo.id}\n name: bar-cluster\n domain: example.com\n enabled: true\n kubernetesApiUrl: https://124.124.124\n kubernetesToken: some-token\n kubernetesCaCert: some-cert\n kubernetesAuthorizationType: rbac\n environmentScope: '*'\n managementProjectId: '123456'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group clusters can be imported using an id made up of `groupid:clusterid`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupCluster:GroupCluster bar 123:321\n```\n\n", + "description": "The `gitlab.GroupCluster` resource allows to manage the lifecycle of a group cluster.\n\n\u003e This is deprecated GitLab feature since 14.5\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/group_clusters.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Group(\"foo\", {\n name: \"foo-group\",\n path: \"foo-path\",\n});\nconst bar = new gitlab.GroupCluster(\"bar\", {\n group: foo.id,\n name: \"bar-cluster\",\n domain: \"example.com\",\n enabled: true,\n kubernetesApiUrl: \"https://124.124.124\",\n kubernetesToken: \"some-token\",\n kubernetesCaCert: \"some-cert\",\n kubernetesAuthorizationType: \"rbac\",\n environmentScope: \"*\",\n managementProjectId: \"123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Group(\"foo\",\n name=\"foo-group\",\n path=\"foo-path\")\nbar = gitlab.GroupCluster(\"bar\",\n group=foo.id,\n name=\"bar-cluster\",\n domain=\"example.com\",\n enabled=True,\n kubernetes_api_url=\"https://124.124.124\",\n kubernetes_token=\"some-token\",\n kubernetes_ca_cert=\"some-cert\",\n kubernetes_authorization_type=\"rbac\",\n environment_scope=\"*\",\n management_project_id=\"123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Group(\"foo\", new()\n {\n Name = \"foo-group\",\n Path = \"foo-path\",\n });\n\n var bar = new GitLab.GroupCluster(\"bar\", new()\n {\n Group = foo.Id,\n Name = \"bar-cluster\",\n Domain = \"example.com\",\n Enabled = true,\n KubernetesApiUrl = \"https://124.124.124\",\n KubernetesToken = \"some-token\",\n KubernetesCaCert = \"some-cert\",\n KubernetesAuthorizationType = \"rbac\",\n EnvironmentScope = \"*\",\n ManagementProjectId = \"123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewGroup(ctx, \"foo\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"foo-group\"),\n\t\t\tPath: pulumi.String(\"foo-path\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupCluster(ctx, \"bar\", \u0026gitlab.GroupClusterArgs{\n\t\t\tGroup: foo.ID(),\n\t\t\tName: pulumi.String(\"bar-cluster\"),\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tKubernetesApiUrl: pulumi.String(\"https://124.124.124\"),\n\t\t\tKubernetesToken: pulumi.String(\"some-token\"),\n\t\t\tKubernetesCaCert: pulumi.String(\"some-cert\"),\n\t\t\tKubernetesAuthorizationType: pulumi.String(\"rbac\"),\n\t\t\tEnvironmentScope: pulumi.String(\"*\"),\n\t\t\tManagementProjectId: pulumi.String(\"123456\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.GroupCluster;\nimport com.pulumi.gitlab.GroupClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Group(\"foo\", GroupArgs.builder()\n .name(\"foo-group\")\n .path(\"foo-path\")\n .build());\n\n var bar = new GroupCluster(\"bar\", GroupClusterArgs.builder()\n .group(foo.id())\n .name(\"bar-cluster\")\n .domain(\"example.com\")\n .enabled(true)\n .kubernetesApiUrl(\"https://124.124.124\")\n .kubernetesToken(\"some-token\")\n .kubernetesCaCert(\"some-cert\")\n .kubernetesAuthorizationType(\"rbac\")\n .environmentScope(\"*\")\n .managementProjectId(\"123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Group\n properties:\n name: foo-group\n path: foo-path\n bar:\n type: gitlab:GroupCluster\n properties:\n group: ${foo.id}\n name: bar-cluster\n domain: example.com\n enabled: true\n kubernetesApiUrl: https://124.124.124\n kubernetesToken: some-token\n kubernetesCaCert: some-cert\n kubernetesAuthorizationType: rbac\n environmentScope: '*'\n managementProjectId: '123456'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group clusters can be imported using an id made up of `groupid:clusterid`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupCluster:GroupCluster bar 123:321\n```\n\n", "properties": { "clusterType": { "type": "string", @@ -9530,7 +9531,7 @@ } }, "gitlab:index/groupCustomAttribute:GroupCustomAttribute": { - "description": "The `gitlab.GroupCustomAttribute` resource allows to manage custom attributes for a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/custom_attributes.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst attr = new gitlab.GroupCustomAttribute(\"attr\", {\n group: 42,\n key: \"location\",\n value: \"Greenland\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nattr = gitlab.GroupCustomAttribute(\"attr\",\n group=42,\n key=\"location\",\n value=\"Greenland\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var attr = new GitLab.GroupCustomAttribute(\"attr\", new()\n {\n Group = 42,\n Key = \"location\",\n Value = \"Greenland\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupCustomAttribute(ctx, \"attr\", \u0026gitlab.GroupCustomAttributeArgs{\n\t\t\tGroup: pulumi.Int(42),\n\t\t\tKey: pulumi.String(\"location\"),\n\t\t\tValue: pulumi.String(\"Greenland\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupCustomAttribute;\nimport com.pulumi.gitlab.GroupCustomAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var attr = new GroupCustomAttribute(\"attr\", GroupCustomAttributeArgs.builder()\n .group(\"42\")\n .key(\"location\")\n .value(\"Greenland\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n attr:\n type: gitlab:GroupCustomAttribute\n properties:\n group: '42'\n key: location\n value: Greenland\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a group custom attribute using the an id made up of `{group-id}:{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupCustomAttribute:GroupCustomAttribute attr 42:location\n```\n\n", + "description": "The `gitlab.GroupCustomAttribute` resource allows to manage custom attributes for a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/custom_attributes.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst attr = new gitlab.GroupCustomAttribute(\"attr\", {\n group: 42,\n key: \"location\",\n value: \"Greenland\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nattr = gitlab.GroupCustomAttribute(\"attr\",\n group=42,\n key=\"location\",\n value=\"Greenland\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var attr = new GitLab.GroupCustomAttribute(\"attr\", new()\n {\n Group = 42,\n Key = \"location\",\n Value = \"Greenland\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupCustomAttribute(ctx, \"attr\", \u0026gitlab.GroupCustomAttributeArgs{\n\t\t\tGroup: pulumi.Int(42),\n\t\t\tKey: pulumi.String(\"location\"),\n\t\t\tValue: pulumi.String(\"Greenland\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupCustomAttribute;\nimport com.pulumi.gitlab.GroupCustomAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var attr = new GroupCustomAttribute(\"attr\", GroupCustomAttributeArgs.builder()\n .group(\"42\")\n .key(\"location\")\n .value(\"Greenland\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n attr:\n type: gitlab:GroupCustomAttribute\n properties:\n group: '42'\n key: location\n value: Greenland\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a group custom attribute using the an id made up of `{group-id}:{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupCustomAttribute:GroupCustomAttribute attr 42:location\n```\n\n", "properties": { "group": { "type": "integer", @@ -9589,7 +9590,7 @@ } }, "gitlab:index/groupEpicBoard:GroupEpicBoard": { - "description": "The `gitlab.GroupEpicBoard` resource allows to manage the lifecycle of a epic board in a group.\n\n\u003e Multiple epic boards on one group requires a GitLab Premium or above License.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/group_boards.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.Group(\"example\", {\n name: \"test_group\",\n path: \"test_group\",\n description: \"An example group\",\n});\nconst label1 = new gitlab.GroupLabel(\"label_1\", {\n group: example.id,\n color: \"#FF0000\",\n name: \"red-label\",\n});\nconst label3 = new gitlab.GroupLabel(\"label_3\", {\n group: example.id,\n name: \"label-3\",\n color: \"#003000\",\n});\nconst epicBoard = new gitlab.GroupEpicBoard(\"epic_board\", {\n name: \"epic board 6\",\n group: example.path,\n lists: [{\n labelId: label1.labelId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.Group(\"example\",\n name=\"test_group\",\n path=\"test_group\",\n description=\"An example group\")\nlabel1 = gitlab.GroupLabel(\"label_1\",\n group=example.id,\n color=\"#FF0000\",\n name=\"red-label\")\nlabel3 = gitlab.GroupLabel(\"label_3\",\n group=example.id,\n name=\"label-3\",\n color=\"#003000\")\nepic_board = gitlab.GroupEpicBoard(\"epic_board\",\n name=\"epic board 6\",\n group=example.path,\n lists=[gitlab.GroupEpicBoardListArgs(\n label_id=label1.label_id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.Group(\"example\", new()\n {\n Name = \"test_group\",\n Path = \"test_group\",\n Description = \"An example group\",\n });\n\n var label1 = new GitLab.GroupLabel(\"label_1\", new()\n {\n Group = example.Id,\n Color = \"#FF0000\",\n Name = \"red-label\",\n });\n\n var label3 = new GitLab.GroupLabel(\"label_3\", new()\n {\n Group = example.Id,\n Name = \"label-3\",\n Color = \"#003000\",\n });\n\n var epicBoard = new GitLab.GroupEpicBoard(\"epic_board\", new()\n {\n Name = \"epic board 6\",\n Group = example.Path,\n Lists = new[]\n {\n new GitLab.Inputs.GroupEpicBoardListArgs\n {\n LabelId = label1.LabelId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewGroup(ctx, \"example\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"test_group\"),\n\t\t\tPath: pulumi.String(\"test_group\"),\n\t\t\tDescription: pulumi.String(\"An example group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlabel1, err := gitlab.NewGroupLabel(ctx, \"label_1\", \u0026gitlab.GroupLabelArgs{\n\t\t\tGroup: example.ID(),\n\t\t\tColor: pulumi.String(\"#FF0000\"),\n\t\t\tName: pulumi.String(\"red-label\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupLabel(ctx, \"label_3\", \u0026gitlab.GroupLabelArgs{\n\t\t\tGroup: example.ID(),\n\t\t\tName: pulumi.String(\"label-3\"),\n\t\t\tColor: pulumi.String(\"#003000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupEpicBoard(ctx, \"epic_board\", \u0026gitlab.GroupEpicBoardArgs{\n\t\t\tName: pulumi.String(\"epic board 6\"),\n\t\t\tGroup: example.Path,\n\t\t\tLists: gitlab.GroupEpicBoardListArray{\n\t\t\t\t\u0026gitlab.GroupEpicBoardListArgs{\n\t\t\t\t\tLabelId: label1.LabelId,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.GroupLabel;\nimport com.pulumi.gitlab.GroupLabelArgs;\nimport com.pulumi.gitlab.GroupEpicBoard;\nimport com.pulumi.gitlab.GroupEpicBoardArgs;\nimport com.pulumi.gitlab.inputs.GroupEpicBoardListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Group(\"example\", GroupArgs.builder()\n .name(\"test_group\")\n .path(\"test_group\")\n .description(\"An example group\")\n .build());\n\n var label1 = new GroupLabel(\"label1\", GroupLabelArgs.builder()\n .group(example.id())\n .color(\"#FF0000\")\n .name(\"red-label\")\n .build());\n\n var label3 = new GroupLabel(\"label3\", GroupLabelArgs.builder()\n .group(example.id())\n .name(\"label-3\")\n .color(\"#003000\")\n .build());\n\n var epicBoard = new GroupEpicBoard(\"epicBoard\", GroupEpicBoardArgs.builder()\n .name(\"epic board 6\")\n .group(example.path())\n .lists(GroupEpicBoardListArgs.builder()\n .labelId(label1.labelId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:Group\n properties:\n name: test_group\n path: test_group\n description: An example group\n label1:\n type: gitlab:GroupLabel\n name: label_1\n properties:\n group: ${example.id}\n color: '#FF0000'\n name: red-label\n label3:\n type: gitlab:GroupLabel\n name: label_3\n properties:\n group: ${example.id}\n name: label-3\n color: '#003000'\n epicBoard:\n type: gitlab:GroupEpicBoard\n name: epic_board\n properties:\n name: epic board 6\n group: ${example.path}\n lists:\n - labelId: ${label1.labelId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import this resource with an id made up of `{group-id}:{epic-board-id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupEpicBoard:GroupEpicBoard agile 70:156\n```\n\n", + "description": "The `gitlab.GroupEpicBoard` resource allows to manage the lifecycle of a epic board in a group.\n\n\u003e Multiple epic boards on one group requires a GitLab Premium or above License.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/group_boards.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.Group(\"example\", {\n name: \"test_group\",\n path: \"test_group\",\n description: \"An example group\",\n});\nconst label1 = new gitlab.GroupLabel(\"label_1\", {\n group: example.id,\n color: \"#FF0000\",\n name: \"red-label\",\n});\nconst label3 = new gitlab.GroupLabel(\"label_3\", {\n group: example.id,\n name: \"label-3\",\n color: \"#003000\",\n});\nconst epicBoard = new gitlab.GroupEpicBoard(\"epic_board\", {\n name: \"epic board 6\",\n group: example.path,\n lists: [{\n labelId: label1.labelId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.Group(\"example\",\n name=\"test_group\",\n path=\"test_group\",\n description=\"An example group\")\nlabel1 = gitlab.GroupLabel(\"label_1\",\n group=example.id,\n color=\"#FF0000\",\n name=\"red-label\")\nlabel3 = gitlab.GroupLabel(\"label_3\",\n group=example.id,\n name=\"label-3\",\n color=\"#003000\")\nepic_board = gitlab.GroupEpicBoard(\"epic_board\",\n name=\"epic board 6\",\n group=example.path,\n lists=[gitlab.GroupEpicBoardListArgs(\n label_id=label1.label_id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.Group(\"example\", new()\n {\n Name = \"test_group\",\n Path = \"test_group\",\n Description = \"An example group\",\n });\n\n var label1 = new GitLab.GroupLabel(\"label_1\", new()\n {\n Group = example.Id,\n Color = \"#FF0000\",\n Name = \"red-label\",\n });\n\n var label3 = new GitLab.GroupLabel(\"label_3\", new()\n {\n Group = example.Id,\n Name = \"label-3\",\n Color = \"#003000\",\n });\n\n var epicBoard = new GitLab.GroupEpicBoard(\"epic_board\", new()\n {\n Name = \"epic board 6\",\n Group = example.Path,\n Lists = new[]\n {\n new GitLab.Inputs.GroupEpicBoardListArgs\n {\n LabelId = label1.LabelId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewGroup(ctx, \"example\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"test_group\"),\n\t\t\tPath: pulumi.String(\"test_group\"),\n\t\t\tDescription: pulumi.String(\"An example group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlabel1, err := gitlab.NewGroupLabel(ctx, \"label_1\", \u0026gitlab.GroupLabelArgs{\n\t\t\tGroup: example.ID(),\n\t\t\tColor: pulumi.String(\"#FF0000\"),\n\t\t\tName: pulumi.String(\"red-label\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupLabel(ctx, \"label_3\", \u0026gitlab.GroupLabelArgs{\n\t\t\tGroup: example.ID(),\n\t\t\tName: pulumi.String(\"label-3\"),\n\t\t\tColor: pulumi.String(\"#003000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupEpicBoard(ctx, \"epic_board\", \u0026gitlab.GroupEpicBoardArgs{\n\t\t\tName: pulumi.String(\"epic board 6\"),\n\t\t\tGroup: example.Path,\n\t\t\tLists: gitlab.GroupEpicBoardListArray{\n\t\t\t\t\u0026gitlab.GroupEpicBoardListArgs{\n\t\t\t\t\tLabelId: label1.LabelId,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.GroupLabel;\nimport com.pulumi.gitlab.GroupLabelArgs;\nimport com.pulumi.gitlab.GroupEpicBoard;\nimport com.pulumi.gitlab.GroupEpicBoardArgs;\nimport com.pulumi.gitlab.inputs.GroupEpicBoardListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Group(\"example\", GroupArgs.builder()\n .name(\"test_group\")\n .path(\"test_group\")\n .description(\"An example group\")\n .build());\n\n var label1 = new GroupLabel(\"label1\", GroupLabelArgs.builder()\n .group(example.id())\n .color(\"#FF0000\")\n .name(\"red-label\")\n .build());\n\n var label3 = new GroupLabel(\"label3\", GroupLabelArgs.builder()\n .group(example.id())\n .name(\"label-3\")\n .color(\"#003000\")\n .build());\n\n var epicBoard = new GroupEpicBoard(\"epicBoard\", GroupEpicBoardArgs.builder()\n .name(\"epic board 6\")\n .group(example.path())\n .lists(GroupEpicBoardListArgs.builder()\n .labelId(label1.labelId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:Group\n properties:\n name: test_group\n path: test_group\n description: An example group\n label1:\n type: gitlab:GroupLabel\n name: label_1\n properties:\n group: ${example.id}\n color: '#FF0000'\n name: red-label\n label3:\n type: gitlab:GroupLabel\n name: label_3\n properties:\n group: ${example.id}\n name: label-3\n color: '#003000'\n epicBoard:\n type: gitlab:GroupEpicBoard\n name: epic_board\n properties:\n name: epic board 6\n group: ${example.path}\n lists:\n - labelId: ${label1.labelId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import this resource with an id made up of `{group-id}:{epic-board-id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupEpicBoard:GroupEpicBoard agile 70:156\n```\n\n", "properties": { "group": { "type": "string", @@ -9654,7 +9655,7 @@ } }, "gitlab:index/groupHook:GroupHook": { - "description": "The `gitlab.GroupHook` resource allows to manage the lifecycle of a group hook.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#hooks)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.GroupHook(\"example\", {\n group: \"example/hooked\",\n url: \"https://example.com/hook/example\",\n mergeRequestsEvents: true,\n});\n// Setting all attributes\nconst allAttributes = new gitlab.GroupHook(\"all_attributes\", {\n group: \"1\",\n url: \"http://example.com\",\n token: \"supersecret\",\n enableSslVerification: false,\n pushEvents: true,\n pushEventsBranchFilter: \"devel\",\n issuesEvents: false,\n confidentialIssuesEvents: false,\n mergeRequestsEvents: true,\n tagPushEvents: true,\n noteEvents: true,\n confidentialNoteEvents: true,\n jobEvents: true,\n pipelineEvents: true,\n wikiPageEvents: true,\n deploymentEvents: true,\n releasesEvents: true,\n subgroupEvents: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.GroupHook(\"example\",\n group=\"example/hooked\",\n url=\"https://example.com/hook/example\",\n merge_requests_events=True)\n# Setting all attributes\nall_attributes = gitlab.GroupHook(\"all_attributes\",\n group=\"1\",\n url=\"http://example.com\",\n token=\"supersecret\",\n enable_ssl_verification=False,\n push_events=True,\n push_events_branch_filter=\"devel\",\n issues_events=False,\n confidential_issues_events=False,\n merge_requests_events=True,\n tag_push_events=True,\n note_events=True,\n confidential_note_events=True,\n job_events=True,\n pipeline_events=True,\n wiki_page_events=True,\n deployment_events=True,\n releases_events=True,\n subgroup_events=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.GroupHook(\"example\", new()\n {\n Group = \"example/hooked\",\n Url = \"https://example.com/hook/example\",\n MergeRequestsEvents = true,\n });\n\n // Setting all attributes\n var allAttributes = new GitLab.GroupHook(\"all_attributes\", new()\n {\n Group = \"1\",\n Url = \"http://example.com\",\n Token = \"supersecret\",\n EnableSslVerification = false,\n PushEvents = true,\n PushEventsBranchFilter = \"devel\",\n IssuesEvents = false,\n ConfidentialIssuesEvents = false,\n MergeRequestsEvents = true,\n TagPushEvents = true,\n NoteEvents = true,\n ConfidentialNoteEvents = true,\n JobEvents = true,\n PipelineEvents = true,\n WikiPageEvents = true,\n DeploymentEvents = true,\n ReleasesEvents = true,\n SubgroupEvents = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupHook(ctx, \"example\", \u0026gitlab.GroupHookArgs{\n\t\t\tGroup: pulumi.String(\"example/hooked\"),\n\t\t\tUrl: pulumi.String(\"https://example.com/hook/example\"),\n\t\t\tMergeRequestsEvents: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Setting all attributes\n\t\t_, err = gitlab.NewGroupHook(ctx, \"all_attributes\", \u0026gitlab.GroupHookArgs{\n\t\t\tGroup: pulumi.String(\"1\"),\n\t\t\tUrl: pulumi.String(\"http://example.com\"),\n\t\t\tToken: pulumi.String(\"supersecret\"),\n\t\t\tEnableSslVerification: pulumi.Bool(false),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t\tPushEventsBranchFilter: pulumi.String(\"devel\"),\n\t\t\tIssuesEvents: pulumi.Bool(false),\n\t\t\tConfidentialIssuesEvents: pulumi.Bool(false),\n\t\t\tMergeRequestsEvents: pulumi.Bool(true),\n\t\t\tTagPushEvents: pulumi.Bool(true),\n\t\t\tNoteEvents: pulumi.Bool(true),\n\t\t\tConfidentialNoteEvents: pulumi.Bool(true),\n\t\t\tJobEvents: pulumi.Bool(true),\n\t\t\tPipelineEvents: pulumi.Bool(true),\n\t\t\tWikiPageEvents: pulumi.Bool(true),\n\t\t\tDeploymentEvents: pulumi.Bool(true),\n\t\t\tReleasesEvents: pulumi.Bool(true),\n\t\t\tSubgroupEvents: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupHook;\nimport com.pulumi.gitlab.GroupHookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GroupHook(\"example\", GroupHookArgs.builder()\n .group(\"example/hooked\")\n .url(\"https://example.com/hook/example\")\n .mergeRequestsEvents(true)\n .build());\n\n // Setting all attributes\n var allAttributes = new GroupHook(\"allAttributes\", GroupHookArgs.builder()\n .group(1)\n .url(\"http://example.com\")\n .token(\"supersecret\")\n .enableSslVerification(false)\n .pushEvents(true)\n .pushEventsBranchFilter(\"devel\")\n .issuesEvents(false)\n .confidentialIssuesEvents(false)\n .mergeRequestsEvents(true)\n .tagPushEvents(true)\n .noteEvents(true)\n .confidentialNoteEvents(true)\n .jobEvents(true)\n .pipelineEvents(true)\n .wikiPageEvents(true)\n .deploymentEvents(true)\n .releasesEvents(true)\n .subgroupEvents(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:GroupHook\n properties:\n group: example/hooked\n url: https://example.com/hook/example\n mergeRequestsEvents: true\n # Setting all attributes\n allAttributes:\n type: gitlab:GroupHook\n name: all_attributes\n properties:\n group: 1\n url: http://example.com\n token: supersecret\n enableSslVerification: false\n pushEvents: true\n pushEventsBranchFilter: devel\n issuesEvents: false\n confidentialIssuesEvents: false\n mergeRequestsEvents: true\n tagPushEvents: true\n noteEvents: true\n confidentialNoteEvents: true\n jobEvents: true\n pipelineEvents: true\n wikiPageEvents: true\n deploymentEvents: true\n releasesEvents: true\n subgroupEvents: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA GitLab Group Hook can be imported using a key composed of `\u003cgroup-id\u003e:\u003chook-id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupHook:GroupHook example \"12345:1\"\n```\n\nNOTE: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", + "description": "The `gitlab.GroupHook` resource allows to manage the lifecycle of a group hook.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#hooks)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.GroupHook(\"example\", {\n group: \"example/hooked\",\n url: \"https://example.com/hook/example\",\n mergeRequestsEvents: true,\n});\n// Setting all attributes\nconst allAttributes = new gitlab.GroupHook(\"all_attributes\", {\n group: \"1\",\n url: \"http://example.com\",\n token: \"supersecret\",\n enableSslVerification: false,\n pushEvents: true,\n pushEventsBranchFilter: \"devel\",\n issuesEvents: false,\n confidentialIssuesEvents: false,\n mergeRequestsEvents: true,\n tagPushEvents: true,\n noteEvents: true,\n confidentialNoteEvents: true,\n jobEvents: true,\n pipelineEvents: true,\n wikiPageEvents: true,\n deploymentEvents: true,\n releasesEvents: true,\n subgroupEvents: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.GroupHook(\"example\",\n group=\"example/hooked\",\n url=\"https://example.com/hook/example\",\n merge_requests_events=True)\n# Setting all attributes\nall_attributes = gitlab.GroupHook(\"all_attributes\",\n group=\"1\",\n url=\"http://example.com\",\n token=\"supersecret\",\n enable_ssl_verification=False,\n push_events=True,\n push_events_branch_filter=\"devel\",\n issues_events=False,\n confidential_issues_events=False,\n merge_requests_events=True,\n tag_push_events=True,\n note_events=True,\n confidential_note_events=True,\n job_events=True,\n pipeline_events=True,\n wiki_page_events=True,\n deployment_events=True,\n releases_events=True,\n subgroup_events=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.GroupHook(\"example\", new()\n {\n Group = \"example/hooked\",\n Url = \"https://example.com/hook/example\",\n MergeRequestsEvents = true,\n });\n\n // Setting all attributes\n var allAttributes = new GitLab.GroupHook(\"all_attributes\", new()\n {\n Group = \"1\",\n Url = \"http://example.com\",\n Token = \"supersecret\",\n EnableSslVerification = false,\n PushEvents = true,\n PushEventsBranchFilter = \"devel\",\n IssuesEvents = false,\n ConfidentialIssuesEvents = false,\n MergeRequestsEvents = true,\n TagPushEvents = true,\n NoteEvents = true,\n ConfidentialNoteEvents = true,\n JobEvents = true,\n PipelineEvents = true,\n WikiPageEvents = true,\n DeploymentEvents = true,\n ReleasesEvents = true,\n SubgroupEvents = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupHook(ctx, \"example\", \u0026gitlab.GroupHookArgs{\n\t\t\tGroup: pulumi.String(\"example/hooked\"),\n\t\t\tUrl: pulumi.String(\"https://example.com/hook/example\"),\n\t\t\tMergeRequestsEvents: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Setting all attributes\n\t\t_, err = gitlab.NewGroupHook(ctx, \"all_attributes\", \u0026gitlab.GroupHookArgs{\n\t\t\tGroup: pulumi.String(\"1\"),\n\t\t\tUrl: pulumi.String(\"http://example.com\"),\n\t\t\tToken: pulumi.String(\"supersecret\"),\n\t\t\tEnableSslVerification: pulumi.Bool(false),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t\tPushEventsBranchFilter: pulumi.String(\"devel\"),\n\t\t\tIssuesEvents: pulumi.Bool(false),\n\t\t\tConfidentialIssuesEvents: pulumi.Bool(false),\n\t\t\tMergeRequestsEvents: pulumi.Bool(true),\n\t\t\tTagPushEvents: pulumi.Bool(true),\n\t\t\tNoteEvents: pulumi.Bool(true),\n\t\t\tConfidentialNoteEvents: pulumi.Bool(true),\n\t\t\tJobEvents: pulumi.Bool(true),\n\t\t\tPipelineEvents: pulumi.Bool(true),\n\t\t\tWikiPageEvents: pulumi.Bool(true),\n\t\t\tDeploymentEvents: pulumi.Bool(true),\n\t\t\tReleasesEvents: pulumi.Bool(true),\n\t\t\tSubgroupEvents: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupHook;\nimport com.pulumi.gitlab.GroupHookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GroupHook(\"example\", GroupHookArgs.builder()\n .group(\"example/hooked\")\n .url(\"https://example.com/hook/example\")\n .mergeRequestsEvents(true)\n .build());\n\n // Setting all attributes\n var allAttributes = new GroupHook(\"allAttributes\", GroupHookArgs.builder()\n .group(1)\n .url(\"http://example.com\")\n .token(\"supersecret\")\n .enableSslVerification(false)\n .pushEvents(true)\n .pushEventsBranchFilter(\"devel\")\n .issuesEvents(false)\n .confidentialIssuesEvents(false)\n .mergeRequestsEvents(true)\n .tagPushEvents(true)\n .noteEvents(true)\n .confidentialNoteEvents(true)\n .jobEvents(true)\n .pipelineEvents(true)\n .wikiPageEvents(true)\n .deploymentEvents(true)\n .releasesEvents(true)\n .subgroupEvents(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:GroupHook\n properties:\n group: example/hooked\n url: https://example.com/hook/example\n mergeRequestsEvents: true\n # Setting all attributes\n allAttributes:\n type: gitlab:GroupHook\n name: all_attributes\n properties:\n group: 1\n url: http://example.com\n token: supersecret\n enableSslVerification: false\n pushEvents: true\n pushEventsBranchFilter: devel\n issuesEvents: false\n confidentialIssuesEvents: false\n mergeRequestsEvents: true\n tagPushEvents: true\n noteEvents: true\n confidentialNoteEvents: true\n jobEvents: true\n pipelineEvents: true\n wikiPageEvents: true\n deploymentEvents: true\n releasesEvents: true\n subgroupEvents: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA GitLab Group Hook can be imported using a key composed of `\u003cgroup-id\u003e:\u003chook-id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupHook:GroupHook example \"12345:1\"\n```\n\nNOTE: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", "properties": { "confidentialIssuesEvents": { "type": "boolean", @@ -10022,7 +10023,7 @@ } }, "gitlab:index/groupLabel:GroupLabel": { - "description": "The `gitlab.GroupLabel` resource allows to manage the lifecycle of labels within a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/user/project/labels.html#group-labels)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst fixme = new gitlab.GroupLabel(\"fixme\", {\n group: \"example\",\n name: \"fixme\",\n description: \"issue with failing tests\",\n color: \"#ffcc00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfixme = gitlab.GroupLabel(\"fixme\",\n group=\"example\",\n name=\"fixme\",\n description=\"issue with failing tests\",\n color=\"#ffcc00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fixme = new GitLab.GroupLabel(\"fixme\", new()\n {\n Group = \"example\",\n Name = \"fixme\",\n Description = \"issue with failing tests\",\n Color = \"#ffcc00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupLabel(ctx, \"fixme\", \u0026gitlab.GroupLabelArgs{\n\t\t\tGroup: pulumi.String(\"example\"),\n\t\t\tName: pulumi.String(\"fixme\"),\n\t\t\tDescription: pulumi.String(\"issue with failing tests\"),\n\t\t\tColor: pulumi.String(\"#ffcc00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupLabel;\nimport com.pulumi.gitlab.GroupLabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fixme = new GroupLabel(\"fixme\", GroupLabelArgs.builder()\n .group(\"example\")\n .name(\"fixme\")\n .description(\"issue with failing tests\")\n .color(\"#ffcc00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fixme:\n type: gitlab:GroupLabel\n properties:\n group: example\n name: fixme\n description: issue with failing tests\n color: '#ffcc00'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab group labels can be imported using an id made up of `{group_id}:{group_label_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupLabel:GroupLabel example 12345:fixme\n```\n\n", + "description": "The `gitlab.GroupLabel` resource allows to manage the lifecycle of labels within a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/user/project/labels.html#group-labels)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst fixme = new gitlab.GroupLabel(\"fixme\", {\n group: \"example\",\n name: \"fixme\",\n description: \"issue with failing tests\",\n color: \"#ffcc00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfixme = gitlab.GroupLabel(\"fixme\",\n group=\"example\",\n name=\"fixme\",\n description=\"issue with failing tests\",\n color=\"#ffcc00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fixme = new GitLab.GroupLabel(\"fixme\", new()\n {\n Group = \"example\",\n Name = \"fixme\",\n Description = \"issue with failing tests\",\n Color = \"#ffcc00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupLabel(ctx, \"fixme\", \u0026gitlab.GroupLabelArgs{\n\t\t\tGroup: pulumi.String(\"example\"),\n\t\t\tName: pulumi.String(\"fixme\"),\n\t\t\tDescription: pulumi.String(\"issue with failing tests\"),\n\t\t\tColor: pulumi.String(\"#ffcc00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupLabel;\nimport com.pulumi.gitlab.GroupLabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fixme = new GroupLabel(\"fixme\", GroupLabelArgs.builder()\n .group(\"example\")\n .name(\"fixme\")\n .description(\"issue with failing tests\")\n .color(\"#ffcc00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fixme:\n type: gitlab:GroupLabel\n properties:\n group: example\n name: fixme\n description: issue with failing tests\n color: '#ffcc00'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab group labels can be imported using an id made up of `{group_id}:{group_label_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupLabel:GroupLabel example 12345:fixme\n```\n\n", "properties": { "color": { "type": "string", @@ -10107,7 +10108,7 @@ "properties": { "accessLevel": { "type": "string", - "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "deprecationMessage": "Use `group_access` instead of the `access_level` attribute." }, "cn": { @@ -10128,7 +10129,7 @@ }, "groupAccess": { "type": "string", - "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n" + "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n" }, "ldapProvider": { "type": "string", @@ -10144,7 +10145,7 @@ "inputProperties": { "accessLevel": { "type": "string", - "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "deprecationMessage": "Use `group_access` instead of the `access_level` attribute.", "willReplaceOnChanges": true }, @@ -10170,7 +10171,7 @@ }, "groupAccess": { "type": "string", - "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "willReplaceOnChanges": true }, "ldapProvider": { @@ -10188,7 +10189,7 @@ "properties": { "accessLevel": { "type": "string", - "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "deprecationMessage": "Use `group_access` instead of the `access_level` attribute.", "willReplaceOnChanges": true }, @@ -10214,7 +10215,7 @@ }, "groupAccess": { "type": "string", - "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "willReplaceOnChanges": true }, "ldapProvider": { @@ -10227,11 +10228,11 @@ } }, "gitlab:index/groupMembership:GroupMembership": { - "description": "The `gitlab.GroupMembership` resource allows to manage the lifecycle of a users group membership.\n\n\u003e If a group should grant membership to another group use the `gitlab.GroupShareGroup` resource instead.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/members.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst test = new gitlab.GroupMembership(\"test\", {\n groupId: \"12345\",\n userId: 1337,\n accessLevel: \"guest\",\n expiresAt: \"2020-12-31\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntest = gitlab.GroupMembership(\"test\",\n group_id=\"12345\",\n user_id=1337,\n access_level=\"guest\",\n expires_at=\"2020-12-31\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new GitLab.GroupMembership(\"test\", new()\n {\n GroupId = \"12345\",\n UserId = 1337,\n AccessLevel = \"guest\",\n ExpiresAt = \"2020-12-31\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupMembership(ctx, \"test\", \u0026gitlab.GroupMembershipArgs{\n\t\t\tGroupId: pulumi.String(\"12345\"),\n\t\t\tUserId: pulumi.Int(1337),\n\t\t\tAccessLevel: pulumi.String(\"guest\"),\n\t\t\tExpiresAt: pulumi.String(\"2020-12-31\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupMembership;\nimport com.pulumi.gitlab.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GroupMembership(\"test\", GroupMembershipArgs.builder()\n .groupId(\"12345\")\n .userId(1337)\n .accessLevel(\"guest\")\n .expiresAt(\"2020-12-31\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: gitlab:GroupMembership\n properties:\n groupId: '12345'\n userId: 1337\n accessLevel: guest\n expiresAt: 2020-12-31\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group membership can be imported using an id made up of `group_id:user_id`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupMembership:GroupMembership test \"12345:1337\"\n```\n\n", + "description": "The `gitlab.GroupMembership` resource allows to manage the lifecycle of a users group membership.\n\n\u003e If a group should grant membership to another group use the `gitlab.GroupShareGroup` resource instead.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/members.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst test = new gitlab.GroupMembership(\"test\", {\n groupId: \"12345\",\n userId: 1337,\n accessLevel: \"guest\",\n expiresAt: \"2020-12-31\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntest = gitlab.GroupMembership(\"test\",\n group_id=\"12345\",\n user_id=1337,\n access_level=\"guest\",\n expires_at=\"2020-12-31\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new GitLab.GroupMembership(\"test\", new()\n {\n GroupId = \"12345\",\n UserId = 1337,\n AccessLevel = \"guest\",\n ExpiresAt = \"2020-12-31\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupMembership(ctx, \"test\", \u0026gitlab.GroupMembershipArgs{\n\t\t\tGroupId: pulumi.String(\"12345\"),\n\t\t\tUserId: pulumi.Int(1337),\n\t\t\tAccessLevel: pulumi.String(\"guest\"),\n\t\t\tExpiresAt: pulumi.String(\"2020-12-31\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupMembership;\nimport com.pulumi.gitlab.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GroupMembership(\"test\", GroupMembershipArgs.builder()\n .groupId(\"12345\")\n .userId(1337)\n .accessLevel(\"guest\")\n .expiresAt(\"2020-12-31\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: gitlab:GroupMembership\n properties:\n groupId: '12345'\n userId: 1337\n accessLevel: guest\n expiresAt: 2020-12-31\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group membership can be imported using an id made up of `group_id:user_id`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupMembership:GroupMembership test \"12345:1337\"\n```\n\n", "properties": { "accessLevel": { "type": "string", - "description": "Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`.\n" + "description": "Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`.\n" }, "expiresAt": { "type": "string", @@ -10266,7 +10267,7 @@ "inputProperties": { "accessLevel": { "type": "string", - "description": "Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`.\n" + "description": "Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`.\n" }, "expiresAt": { "type": "string", @@ -10305,7 +10306,7 @@ "properties": { "accessLevel": { "type": "string", - "description": "Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`.\n" + "description": "Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`.\n" }, "expiresAt": { "type": "string", @@ -10338,7 +10339,7 @@ } }, "gitlab:index/groupProjectFileTemplate:GroupProjectFileTemplate": { - "description": "The `gitlab.GroupProjectFileTemplate` resource allows setting a project from which\ncustom file templates will be loaded. In order to use this resource, the project selected must be a direct child of\nthe group selected. After the resource has run, `gitlab_project_template.template_project_id` is available for use.\nFor more information about which file types are available as templates, view \n[GitLab's documentation](https://docs.gitlab.com/ee/user/group/custom_project_templates.html)\n\n\u003e This resource requires a GitLab Enterprise instance with a Premium license.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#update-group)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Group(\"foo\", {\n name: \"group\",\n path: \"group\",\n description: \"An example group\",\n});\nconst bar = new gitlab.Project(\"bar\", {\n name: \"template project\",\n description: \"contains file templates\",\n visibilityLevel: \"public\",\n namespaceId: foo.id,\n});\nconst templateLink = new gitlab.GroupProjectFileTemplate(\"template_link\", {\n groupId: foo.id,\n fileTemplateProjectId: bar.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Group(\"foo\",\n name=\"group\",\n path=\"group\",\n description=\"An example group\")\nbar = gitlab.Project(\"bar\",\n name=\"template project\",\n description=\"contains file templates\",\n visibility_level=\"public\",\n namespace_id=foo.id)\ntemplate_link = gitlab.GroupProjectFileTemplate(\"template_link\",\n group_id=foo.id,\n file_template_project_id=bar.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Group(\"foo\", new()\n {\n Name = \"group\",\n Path = \"group\",\n Description = \"An example group\",\n });\n\n var bar = new GitLab.Project(\"bar\", new()\n {\n Name = \"template project\",\n Description = \"contains file templates\",\n VisibilityLevel = \"public\",\n NamespaceId = foo.Id,\n });\n\n var templateLink = new GitLab.GroupProjectFileTemplate(\"template_link\", new()\n {\n GroupId = foo.Id,\n FileTemplateProjectId = bar.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewGroup(ctx, \"foo\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"group\"),\n\t\t\tPath: pulumi.String(\"group\"),\n\t\t\tDescription: pulumi.String(\"An example group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := gitlab.NewProject(ctx, \"bar\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"template project\"),\n\t\t\tDescription: pulumi.String(\"contains file templates\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t\tNamespaceId: foo.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupProjectFileTemplate(ctx, \"template_link\", \u0026gitlab.GroupProjectFileTemplateArgs{\n\t\t\tGroupId: foo.ID(),\n\t\t\tFileTemplateProjectId: bar.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.GroupProjectFileTemplate;\nimport com.pulumi.gitlab.GroupProjectFileTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Group(\"foo\", GroupArgs.builder()\n .name(\"group\")\n .path(\"group\")\n .description(\"An example group\")\n .build());\n\n var bar = new Project(\"bar\", ProjectArgs.builder()\n .name(\"template project\")\n .description(\"contains file templates\")\n .visibilityLevel(\"public\")\n .namespaceId(foo.id())\n .build());\n\n var templateLink = new GroupProjectFileTemplate(\"templateLink\", GroupProjectFileTemplateArgs.builder()\n .groupId(foo.id())\n .fileTemplateProjectId(bar.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Group\n properties:\n name: group\n path: group\n description: An example group\n bar:\n type: gitlab:Project\n properties:\n name: template project\n description: contains file templates\n visibilityLevel: public\n namespaceId: ${foo.id}\n templateLink:\n type: gitlab:GroupProjectFileTemplate\n name: template_link\n properties:\n groupId: ${foo.id}\n fileTemplateProjectId: ${bar.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.GroupProjectFileTemplate` resource allows setting a project from which\ncustom file templates will be loaded. In order to use this resource, the project selected must be a direct child of\nthe group selected. After the resource has run, `gitlab_project_template.template_project_id` is available for use.\nFor more information about which file types are available as templates, view \n[GitLab's documentation](https://docs.gitlab.com/ee/user/group/custom_project_templates.html)\n\n\u003e This resource requires a GitLab Enterprise instance with a Premium license.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#update-group)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Group(\"foo\", {\n name: \"group\",\n path: \"group\",\n description: \"An example group\",\n});\nconst bar = new gitlab.Project(\"bar\", {\n name: \"template project\",\n description: \"contains file templates\",\n visibilityLevel: \"public\",\n namespaceId: foo.id,\n});\nconst templateLink = new gitlab.GroupProjectFileTemplate(\"template_link\", {\n groupId: foo.id,\n fileTemplateProjectId: bar.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Group(\"foo\",\n name=\"group\",\n path=\"group\",\n description=\"An example group\")\nbar = gitlab.Project(\"bar\",\n name=\"template project\",\n description=\"contains file templates\",\n visibility_level=\"public\",\n namespace_id=foo.id)\ntemplate_link = gitlab.GroupProjectFileTemplate(\"template_link\",\n group_id=foo.id,\n file_template_project_id=bar.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Group(\"foo\", new()\n {\n Name = \"group\",\n Path = \"group\",\n Description = \"An example group\",\n });\n\n var bar = new GitLab.Project(\"bar\", new()\n {\n Name = \"template project\",\n Description = \"contains file templates\",\n VisibilityLevel = \"public\",\n NamespaceId = foo.Id,\n });\n\n var templateLink = new GitLab.GroupProjectFileTemplate(\"template_link\", new()\n {\n GroupId = foo.Id,\n FileTemplateProjectId = bar.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewGroup(ctx, \"foo\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"group\"),\n\t\t\tPath: pulumi.String(\"group\"),\n\t\t\tDescription: pulumi.String(\"An example group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := gitlab.NewProject(ctx, \"bar\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"template project\"),\n\t\t\tDescription: pulumi.String(\"contains file templates\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t\tNamespaceId: foo.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewGroupProjectFileTemplate(ctx, \"template_link\", \u0026gitlab.GroupProjectFileTemplateArgs{\n\t\t\tGroupId: foo.ID(),\n\t\t\tFileTemplateProjectId: bar.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.GroupProjectFileTemplate;\nimport com.pulumi.gitlab.GroupProjectFileTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Group(\"foo\", GroupArgs.builder()\n .name(\"group\")\n .path(\"group\")\n .description(\"An example group\")\n .build());\n\n var bar = new Project(\"bar\", ProjectArgs.builder()\n .name(\"template project\")\n .description(\"contains file templates\")\n .visibilityLevel(\"public\")\n .namespaceId(foo.id())\n .build());\n\n var templateLink = new GroupProjectFileTemplate(\"templateLink\", GroupProjectFileTemplateArgs.builder()\n .groupId(foo.id())\n .fileTemplateProjectId(bar.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Group\n properties:\n name: group\n path: group\n description: An example group\n bar:\n type: gitlab:Project\n properties:\n name: template project\n description: contains file templates\n visibilityLevel: public\n namespaceId: ${foo.id}\n templateLink:\n type: gitlab:GroupProjectFileTemplate\n name: template_link\n properties:\n groupId: ${foo.id}\n fileTemplateProjectId: ${bar.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "fileTemplateProjectId": { "type": "integer", @@ -10408,18 +10409,13 @@ "group": { "type": "string", "description": "The ID or full path of the group which the protected environment is created against.\n" - }, - "requiredApprovalCount": { - "type": "integer", - "description": "The number of approvals required to deploy to this environment.\n" } }, "required": [ "approvalRules", "deployAccessLevels", "environment", - "group", - "requiredApprovalCount" + "group" ], "inputProperties": { "approvalRules": { @@ -10443,10 +10439,6 @@ "group": { "type": "string", "description": "The ID or full path of the group which the protected environment is created against.\n" - }, - "requiredApprovalCount": { - "type": "integer", - "description": "The number of approvals required to deploy to this environment.\n" } }, "requiredInputs": [ @@ -10478,17 +10470,13 @@ "group": { "type": "string", "description": "The ID or full path of the group which the protected environment is created against.\n" - }, - "requiredApprovalCount": { - "type": "integer", - "description": "The number of approvals required to deploy to this environment.\n" } }, "type": "object" } }, "gitlab:index/groupSamlLink:GroupSamlLink": { - "description": "The `gitlab.GroupSamlLink` resource allows to manage the lifecycle of an SAML integration with a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#saml-group-links)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst test = new gitlab.GroupSamlLink(\"test\", {\n group: \"12345\",\n accessLevel: \"developer\",\n samlGroupName: \"samlgroupname1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntest = gitlab.GroupSamlLink(\"test\",\n group=\"12345\",\n access_level=\"developer\",\n saml_group_name=\"samlgroupname1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new GitLab.GroupSamlLink(\"test\", new()\n {\n Group = \"12345\",\n AccessLevel = \"developer\",\n SamlGroupName = \"samlgroupname1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupSamlLink(ctx, \"test\", \u0026gitlab.GroupSamlLinkArgs{\n\t\t\tGroup: pulumi.String(\"12345\"),\n\t\t\tAccessLevel: pulumi.String(\"developer\"),\n\t\t\tSamlGroupName: pulumi.String(\"samlgroupname1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupSamlLink;\nimport com.pulumi.gitlab.GroupSamlLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GroupSamlLink(\"test\", GroupSamlLinkArgs.builder()\n .group(\"12345\")\n .accessLevel(\"developer\")\n .samlGroupName(\"samlgroupname1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: gitlab:GroupSamlLink\n properties:\n group: '12345'\n accessLevel: developer\n samlGroupName: samlgroupname1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group saml links can be imported using an id made up of `group_id:saml_group_name`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupSamlLink:GroupSamlLink test \"12345:samlgroupname1\"\n```\n\n", + "description": "The `gitlab.GroupSamlLink` resource allows to manage the lifecycle of an SAML integration with a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#saml-group-links)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst test = new gitlab.GroupSamlLink(\"test\", {\n group: \"12345\",\n accessLevel: \"developer\",\n samlGroupName: \"samlgroupname1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntest = gitlab.GroupSamlLink(\"test\",\n group=\"12345\",\n access_level=\"developer\",\n saml_group_name=\"samlgroupname1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new GitLab.GroupSamlLink(\"test\", new()\n {\n Group = \"12345\",\n AccessLevel = \"developer\",\n SamlGroupName = \"samlgroupname1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupSamlLink(ctx, \"test\", \u0026gitlab.GroupSamlLinkArgs{\n\t\t\tGroup: pulumi.String(\"12345\"),\n\t\t\tAccessLevel: pulumi.String(\"developer\"),\n\t\t\tSamlGroupName: pulumi.String(\"samlgroupname1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupSamlLink;\nimport com.pulumi.gitlab.GroupSamlLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GroupSamlLink(\"test\", GroupSamlLinkArgs.builder()\n .group(\"12345\")\n .accessLevel(\"developer\")\n .samlGroupName(\"samlgroupname1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: gitlab:GroupSamlLink\n properties:\n group: '12345'\n accessLevel: developer\n samlGroupName: samlgroupname1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group saml links can be imported using an id made up of `group_id:saml_group_name`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupSamlLink:GroupSamlLink test \"12345:samlgroupname1\"\n```\n\n", "properties": { "accessLevel": { "type": "string", @@ -10553,7 +10541,7 @@ } }, "gitlab:index/groupShareGroup:GroupShareGroup": { - "description": "The `gitlab.GroupShareGroup` resource allows to manage the lifecycle of group shared with another group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#share-groups-with-groups)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst test = new gitlab.GroupShareGroup(\"test\", {\n groupId: foo.id,\n shareGroupId: bar.id,\n groupAccess: \"guest\",\n expiresAt: \"2099-01-01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntest = gitlab.GroupShareGroup(\"test\",\n group_id=foo[\"id\"],\n share_group_id=bar[\"id\"],\n group_access=\"guest\",\n expires_at=\"2099-01-01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new GitLab.GroupShareGroup(\"test\", new()\n {\n GroupId = foo.Id,\n ShareGroupId = bar.Id,\n GroupAccess = \"guest\",\n ExpiresAt = \"2099-01-01\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupShareGroup(ctx, \"test\", \u0026gitlab.GroupShareGroupArgs{\n\t\t\tGroupId: pulumi.Any(foo.Id),\n\t\t\tShareGroupId: pulumi.Any(bar.Id),\n\t\t\tGroupAccess: pulumi.String(\"guest\"),\n\t\t\tExpiresAt: pulumi.String(\"2099-01-01\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupShareGroup;\nimport com.pulumi.gitlab.GroupShareGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GroupShareGroup(\"test\", GroupShareGroupArgs.builder()\n .groupId(foo.id())\n .shareGroupId(bar.id())\n .groupAccess(\"guest\")\n .expiresAt(\"2099-01-01\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: gitlab:GroupShareGroup\n properties:\n groupId: ${foo.id}\n shareGroupId: ${bar.id}\n groupAccess: guest\n expiresAt: 2099-01-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group shares can be imported using an id made up of `mainGroupId:shareGroupId`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupShareGroup:GroupShareGroup test 12345:1337\n```\n\n", + "description": "The `gitlab.GroupShareGroup` resource allows to manage the lifecycle of group shared with another group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#share-groups-with-groups)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst test = new gitlab.GroupShareGroup(\"test\", {\n groupId: foo.id,\n shareGroupId: bar.id,\n groupAccess: \"guest\",\n expiresAt: \"2099-01-01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntest = gitlab.GroupShareGroup(\"test\",\n group_id=foo[\"id\"],\n share_group_id=bar[\"id\"],\n group_access=\"guest\",\n expires_at=\"2099-01-01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new GitLab.GroupShareGroup(\"test\", new()\n {\n GroupId = foo.Id,\n ShareGroupId = bar.Id,\n GroupAccess = \"guest\",\n ExpiresAt = \"2099-01-01\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupShareGroup(ctx, \"test\", \u0026gitlab.GroupShareGroupArgs{\n\t\t\tGroupId: pulumi.Any(foo.Id),\n\t\t\tShareGroupId: pulumi.Any(bar.Id),\n\t\t\tGroupAccess: pulumi.String(\"guest\"),\n\t\t\tExpiresAt: pulumi.String(\"2099-01-01\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupShareGroup;\nimport com.pulumi.gitlab.GroupShareGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new GroupShareGroup(\"test\", GroupShareGroupArgs.builder()\n .groupId(foo.id())\n .shareGroupId(bar.id())\n .groupAccess(\"guest\")\n .expiresAt(\"2099-01-01\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: gitlab:GroupShareGroup\n properties:\n groupId: ${foo.id}\n shareGroupId: ${bar.id}\n groupAccess: guest\n expiresAt: 2099-01-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group shares can be imported using an id made up of `mainGroupId:shareGroupId`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupShareGroup:GroupShareGroup test 12345:1337\n```\n\n", "properties": { "expiresAt": { "type": "string", @@ -10561,7 +10549,7 @@ }, "groupAccess": { "type": "string", - "description": "The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n" + "description": "The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n" }, "groupId": { "type": "string", @@ -10585,7 +10573,7 @@ }, "groupAccess": { "type": "string", - "description": "The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "willReplaceOnChanges": true }, "groupId": { @@ -10614,7 +10602,7 @@ }, "groupAccess": { "type": "string", - "description": "The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "willReplaceOnChanges": true }, "groupId": { @@ -10632,7 +10620,7 @@ } }, "gitlab:index/groupVariable:GroupVariable": { - "description": "The `gitlab.GroupVariable` resource allows to manage the lifecycle of a CI/CD variable for a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/group_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.GroupVariable(\"example\", {\n group: \"12345\",\n key: \"group_variable_key\",\n value: \"group_variable_value\",\n \"protected\": false,\n masked: false,\n environmentScope: \"*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.GroupVariable(\"example\",\n group=\"12345\",\n key=\"group_variable_key\",\n value=\"group_variable_value\",\n protected=False,\n masked=False,\n environment_scope=\"*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.GroupVariable(\"example\", new()\n {\n Group = \"12345\",\n Key = \"group_variable_key\",\n Value = \"group_variable_value\",\n Protected = false,\n Masked = false,\n EnvironmentScope = \"*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupVariable(ctx, \"example\", \u0026gitlab.GroupVariableArgs{\n\t\t\tGroup: pulumi.String(\"12345\"),\n\t\t\tKey: pulumi.String(\"group_variable_key\"),\n\t\t\tValue: pulumi.String(\"group_variable_value\"),\n\t\t\tProtected: pulumi.Bool(false),\n\t\t\tMasked: pulumi.Bool(false),\n\t\t\tEnvironmentScope: pulumi.String(\"*\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupVariable;\nimport com.pulumi.gitlab.GroupVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GroupVariable(\"example\", GroupVariableArgs.builder()\n .group(\"12345\")\n .key(\"group_variable_key\")\n .value(\"group_variable_value\")\n .protected_(false)\n .masked(false)\n .environmentScope(\"*\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:GroupVariable\n properties:\n group: '12345'\n key: group_variable_key\n value: group_variable_value\n protected: false\n masked: false\n environmentScope: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group variables can be imported using an id made up of `groupid:variablename:scope`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupVariable:GroupVariable example 12345:group_variable_key:*\n```\n\n", + "description": "The `gitlab.GroupVariable` resource allows to manage the lifecycle of a CI/CD variable for a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/group_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.GroupVariable(\"example\", {\n group: \"12345\",\n key: \"group_variable_key\",\n value: \"group_variable_value\",\n \"protected\": false,\n masked: false,\n environmentScope: \"*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.GroupVariable(\"example\",\n group=\"12345\",\n key=\"group_variable_key\",\n value=\"group_variable_value\",\n protected=False,\n masked=False,\n environment_scope=\"*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.GroupVariable(\"example\", new()\n {\n Group = \"12345\",\n Key = \"group_variable_key\",\n Value = \"group_variable_value\",\n Protected = false,\n Masked = false,\n EnvironmentScope = \"*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewGroupVariable(ctx, \"example\", \u0026gitlab.GroupVariableArgs{\n\t\t\tGroup: pulumi.String(\"12345\"),\n\t\t\tKey: pulumi.String(\"group_variable_key\"),\n\t\t\tValue: pulumi.String(\"group_variable_value\"),\n\t\t\tProtected: pulumi.Bool(false),\n\t\t\tMasked: pulumi.Bool(false),\n\t\t\tEnvironmentScope: pulumi.String(\"*\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GroupVariable;\nimport com.pulumi.gitlab.GroupVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new GroupVariable(\"example\", GroupVariableArgs.builder()\n .group(\"12345\")\n .key(\"group_variable_key\")\n .value(\"group_variable_value\")\n .protected_(false)\n .masked(false)\n .environmentScope(\"*\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:GroupVariable\n properties:\n group: '12345'\n key: group_variable_key\n value: group_variable_value\n protected: false\n masked: false\n environmentScope: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab group variables can be imported using an id made up of `groupid:variablename:scope`, e.g.\n\n```sh\n$ pulumi import gitlab:index/groupVariable:GroupVariable example 12345:group_variable_key:*\n```\n\n", "properties": { "description": { "type": "string", @@ -10769,7 +10757,7 @@ } }, "gitlab:index/instanceCluster:InstanceCluster": { - "description": "The `gitlab.InstanceCluster` resource allows to manage the lifecycle of an instance cluster.\n\n\u003e This is deprecated GitLab feature since 14.5\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/instance_clusters.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst bar = new gitlab.InstanceCluster(\"bar\", {\n name: \"bar-cluster\",\n domain: \"example.com\",\n enabled: true,\n kubernetesApiUrl: \"https://124.124.124\",\n kubernetesToken: \"some-token\",\n kubernetesCaCert: \"some-cert\",\n kubernetesNamespace: \"namespace\",\n kubernetesAuthorizationType: \"rbac\",\n environmentScope: \"*\",\n managementProjectId: \"123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nbar = gitlab.InstanceCluster(\"bar\",\n name=\"bar-cluster\",\n domain=\"example.com\",\n enabled=True,\n kubernetes_api_url=\"https://124.124.124\",\n kubernetes_token=\"some-token\",\n kubernetes_ca_cert=\"some-cert\",\n kubernetes_namespace=\"namespace\",\n kubernetes_authorization_type=\"rbac\",\n environment_scope=\"*\",\n management_project_id=\"123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new GitLab.InstanceCluster(\"bar\", new()\n {\n Name = \"bar-cluster\",\n Domain = \"example.com\",\n Enabled = true,\n KubernetesApiUrl = \"https://124.124.124\",\n KubernetesToken = \"some-token\",\n KubernetesCaCert = \"some-cert\",\n KubernetesNamespace = \"namespace\",\n KubernetesAuthorizationType = \"rbac\",\n EnvironmentScope = \"*\",\n ManagementProjectId = \"123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewInstanceCluster(ctx, \"bar\", \u0026gitlab.InstanceClusterArgs{\n\t\t\tName: pulumi.String(\"bar-cluster\"),\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tKubernetesApiUrl: pulumi.String(\"https://124.124.124\"),\n\t\t\tKubernetesToken: pulumi.String(\"some-token\"),\n\t\t\tKubernetesCaCert: pulumi.String(\"some-cert\"),\n\t\t\tKubernetesNamespace: pulumi.String(\"namespace\"),\n\t\t\tKubernetesAuthorizationType: pulumi.String(\"rbac\"),\n\t\t\tEnvironmentScope: pulumi.String(\"*\"),\n\t\t\tManagementProjectId: pulumi.String(\"123456\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.InstanceCluster;\nimport com.pulumi.gitlab.InstanceClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bar = new InstanceCluster(\"bar\", InstanceClusterArgs.builder()\n .name(\"bar-cluster\")\n .domain(\"example.com\")\n .enabled(true)\n .kubernetesApiUrl(\"https://124.124.124\")\n .kubernetesToken(\"some-token\")\n .kubernetesCaCert(\"some-cert\")\n .kubernetesNamespace(\"namespace\")\n .kubernetesAuthorizationType(\"rbac\")\n .environmentScope(\"*\")\n .managementProjectId(\"123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: gitlab:InstanceCluster\n properties:\n name: bar-cluster\n domain: example.com\n enabled: true\n kubernetesApiUrl: https://124.124.124\n kubernetesToken: some-token\n kubernetesCaCert: some-cert\n kubernetesNamespace: namespace\n kubernetesAuthorizationType: rbac\n environmentScope: '*'\n managementProjectId: '123456'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab instance clusters can be imported using a `clusterid`, e.g.\n\n```sh\n$ pulumi import gitlab:index/instanceCluster:InstanceCluster bar 123\n```\n\n", + "description": "The `gitlab.InstanceCluster` resource allows to manage the lifecycle of an instance cluster.\n\n\u003e This is deprecated GitLab feature since 14.5\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/instance_clusters.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst bar = new gitlab.InstanceCluster(\"bar\", {\n name: \"bar-cluster\",\n domain: \"example.com\",\n enabled: true,\n kubernetesApiUrl: \"https://124.124.124\",\n kubernetesToken: \"some-token\",\n kubernetesCaCert: \"some-cert\",\n kubernetesNamespace: \"namespace\",\n kubernetesAuthorizationType: \"rbac\",\n environmentScope: \"*\",\n managementProjectId: \"123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nbar = gitlab.InstanceCluster(\"bar\",\n name=\"bar-cluster\",\n domain=\"example.com\",\n enabled=True,\n kubernetes_api_url=\"https://124.124.124\",\n kubernetes_token=\"some-token\",\n kubernetes_ca_cert=\"some-cert\",\n kubernetes_namespace=\"namespace\",\n kubernetes_authorization_type=\"rbac\",\n environment_scope=\"*\",\n management_project_id=\"123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = new GitLab.InstanceCluster(\"bar\", new()\n {\n Name = \"bar-cluster\",\n Domain = \"example.com\",\n Enabled = true,\n KubernetesApiUrl = \"https://124.124.124\",\n KubernetesToken = \"some-token\",\n KubernetesCaCert = \"some-cert\",\n KubernetesNamespace = \"namespace\",\n KubernetesAuthorizationType = \"rbac\",\n EnvironmentScope = \"*\",\n ManagementProjectId = \"123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewInstanceCluster(ctx, \"bar\", \u0026gitlab.InstanceClusterArgs{\n\t\t\tName: pulumi.String(\"bar-cluster\"),\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tKubernetesApiUrl: pulumi.String(\"https://124.124.124\"),\n\t\t\tKubernetesToken: pulumi.String(\"some-token\"),\n\t\t\tKubernetesCaCert: pulumi.String(\"some-cert\"),\n\t\t\tKubernetesNamespace: pulumi.String(\"namespace\"),\n\t\t\tKubernetesAuthorizationType: pulumi.String(\"rbac\"),\n\t\t\tEnvironmentScope: pulumi.String(\"*\"),\n\t\t\tManagementProjectId: pulumi.String(\"123456\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.InstanceCluster;\nimport com.pulumi.gitlab.InstanceClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bar = new InstanceCluster(\"bar\", InstanceClusterArgs.builder()\n .name(\"bar-cluster\")\n .domain(\"example.com\")\n .enabled(true)\n .kubernetesApiUrl(\"https://124.124.124\")\n .kubernetesToken(\"some-token\")\n .kubernetesCaCert(\"some-cert\")\n .kubernetesNamespace(\"namespace\")\n .kubernetesAuthorizationType(\"rbac\")\n .environmentScope(\"*\")\n .managementProjectId(\"123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: gitlab:InstanceCluster\n properties:\n name: bar-cluster\n domain: example.com\n enabled: true\n kubernetesApiUrl: https://124.124.124\n kubernetesToken: some-token\n kubernetesCaCert: some-cert\n kubernetesNamespace: namespace\n kubernetesAuthorizationType: rbac\n environmentScope: '*'\n managementProjectId: '123456'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab instance clusters can be imported using a `clusterid`, e.g.\n\n```sh\n$ pulumi import gitlab:index/instanceCluster:InstanceCluster bar 123\n```\n\n", "properties": { "clusterType": { "type": "string", @@ -10968,8 +10956,12 @@ } }, "gitlab:index/instanceVariable:InstanceVariable": { - "description": "The `gitlab.InstanceVariable` resource allows to manage the lifecycle of an instance-level CI/CD variable.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/instance_level_ci_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.InstanceVariable(\"example\", {\n key: \"instance_variable_key\",\n value: \"instance_variable_value\",\n \"protected\": false,\n masked: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.InstanceVariable(\"example\",\n key=\"instance_variable_key\",\n value=\"instance_variable_value\",\n protected=False,\n masked=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.InstanceVariable(\"example\", new()\n {\n Key = \"instance_variable_key\",\n Value = \"instance_variable_value\",\n Protected = false,\n Masked = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewInstanceVariable(ctx, \"example\", \u0026gitlab.InstanceVariableArgs{\n\t\t\tKey: pulumi.String(\"instance_variable_key\"),\n\t\t\tValue: pulumi.String(\"instance_variable_value\"),\n\t\t\tProtected: pulumi.Bool(false),\n\t\t\tMasked: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.InstanceVariable;\nimport com.pulumi.gitlab.InstanceVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new InstanceVariable(\"example\", InstanceVariableArgs.builder()\n .key(\"instance_variable_key\")\n .value(\"instance_variable_value\")\n .protected_(false)\n .masked(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:InstanceVariable\n properties:\n key: instance_variable_key\n value: instance_variable_value\n protected: false\n masked: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab instance variables can be imported using an id made up of `variablename`, e.g.\n\n```sh\n$ pulumi import gitlab:index/instanceVariable:InstanceVariable example instance_variable_key\n```\n\n", + "description": "The `gitlab.InstanceVariable` resource allows to manage the lifecycle of an instance-level CI/CD variable.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/instance_level_ci_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.InstanceVariable(\"example\", {\n key: \"instance_variable_key\",\n value: \"instance_variable_value\",\n \"protected\": false,\n masked: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.InstanceVariable(\"example\",\n key=\"instance_variable_key\",\n value=\"instance_variable_value\",\n protected=False,\n masked=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.InstanceVariable(\"example\", new()\n {\n Key = \"instance_variable_key\",\n Value = \"instance_variable_value\",\n Protected = false,\n Masked = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewInstanceVariable(ctx, \"example\", \u0026gitlab.InstanceVariableArgs{\n\t\t\tKey: pulumi.String(\"instance_variable_key\"),\n\t\t\tValue: pulumi.String(\"instance_variable_value\"),\n\t\t\tProtected: pulumi.Bool(false),\n\t\t\tMasked: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.InstanceVariable;\nimport com.pulumi.gitlab.InstanceVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new InstanceVariable(\"example\", InstanceVariableArgs.builder()\n .key(\"instance_variable_key\")\n .value(\"instance_variable_value\")\n .protected_(false)\n .masked(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:InstanceVariable\n properties:\n key: instance_variable_key\n value: instance_variable_value\n protected: false\n masked: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab instance variables can be imported using an id made up of `variablename`, e.g.\n\n```sh\n$ pulumi import gitlab:index/instanceVariable:InstanceVariable example instance_variable_key\n```\n\n", "properties": { + "description": { + "type": "string", + "description": "The description of the variable. Maximum of 255 characters.\n" + }, "key": { "type": "string", "description": "The name of the variable.\n" @@ -11000,6 +10992,10 @@ "value" ], "inputProperties": { + "description": { + "type": "string", + "description": "The description of the variable. Maximum of 255 characters.\n" + }, "key": { "type": "string", "description": "The name of the variable.\n", @@ -11033,6 +11029,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering InstanceVariable resources.\n", "properties": { + "description": { + "type": "string", + "description": "The description of the variable. Maximum of 255 characters.\n" + }, "key": { "type": "string", "description": "The name of the variable.\n", @@ -11063,7 +11063,7 @@ } }, "gitlab:index/integrationCustomIssueTracker:IntegrationCustomIssueTracker": { - "description": "The `gitlab.IntegrationCustomIssueTracker` resource allows to manage the lifecycle of a project integration with Custom Issue Tracker.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#custom-issue-tracker)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst tracker = new gitlab.IntegrationCustomIssueTracker(\"tracker\", {\n project: awesomeProject.id,\n projectUrl: \"https://customtracker.com/issues\",\n issuesUrl: \"https://customtracker.com/TEST-:id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\ntracker = gitlab.IntegrationCustomIssueTracker(\"tracker\",\n project=awesome_project.id,\n project_url=\"https://customtracker.com/issues\",\n issues_url=\"https://customtracker.com/TEST-:id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var tracker = new GitLab.IntegrationCustomIssueTracker(\"tracker\", new()\n {\n Project = awesomeProject.Id,\n ProjectUrl = \"https://customtracker.com/issues\",\n IssuesUrl = \"https://customtracker.com/TEST-:id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationCustomIssueTracker(ctx, \"tracker\", \u0026gitlab.IntegrationCustomIssueTrackerArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tProjectUrl: pulumi.String(\"https://customtracker.com/issues\"),\n\t\t\tIssuesUrl: pulumi.String(\"https://customtracker.com/TEST-:id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationCustomIssueTracker;\nimport com.pulumi.gitlab.IntegrationCustomIssueTrackerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var tracker = new IntegrationCustomIssueTracker(\"tracker\", IntegrationCustomIssueTrackerArgs.builder()\n .project(awesomeProject.id())\n .projectUrl(\"https://customtracker.com/issues\")\n .issuesUrl(\"https://customtracker.com/TEST-:id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n tracker:\n type: gitlab:IntegrationCustomIssueTracker\n properties:\n project: ${awesomeProject.id}\n projectUrl: https://customtracker.com/issues\n issuesUrl: https://customtracker.com/TEST-:id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_custom_issue_tracker state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationCustomIssueTracker:IntegrationCustomIssueTracker tracker 1\n```\n\n", + "description": "The `gitlab.IntegrationCustomIssueTracker` resource allows to manage the lifecycle of a project integration with Custom Issue Tracker.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#custom-issue-tracker)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst tracker = new gitlab.IntegrationCustomIssueTracker(\"tracker\", {\n project: awesomeProject.id,\n projectUrl: \"https://customtracker.com/issues\",\n issuesUrl: \"https://customtracker.com/TEST-:id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\ntracker = gitlab.IntegrationCustomIssueTracker(\"tracker\",\n project=awesome_project.id,\n project_url=\"https://customtracker.com/issues\",\n issues_url=\"https://customtracker.com/TEST-:id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var tracker = new GitLab.IntegrationCustomIssueTracker(\"tracker\", new()\n {\n Project = awesomeProject.Id,\n ProjectUrl = \"https://customtracker.com/issues\",\n IssuesUrl = \"https://customtracker.com/TEST-:id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationCustomIssueTracker(ctx, \"tracker\", \u0026gitlab.IntegrationCustomIssueTrackerArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tProjectUrl: pulumi.String(\"https://customtracker.com/issues\"),\n\t\t\tIssuesUrl: pulumi.String(\"https://customtracker.com/TEST-:id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationCustomIssueTracker;\nimport com.pulumi.gitlab.IntegrationCustomIssueTrackerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var tracker = new IntegrationCustomIssueTracker(\"tracker\", IntegrationCustomIssueTrackerArgs.builder()\n .project(awesomeProject.id())\n .projectUrl(\"https://customtracker.com/issues\")\n .issuesUrl(\"https://customtracker.com/TEST-:id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n tracker:\n type: gitlab:IntegrationCustomIssueTracker\n properties:\n project: ${awesomeProject.id}\n projectUrl: https://customtracker.com/issues\n issuesUrl: https://customtracker.com/TEST-:id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_custom_issue_tracker state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationCustomIssueTracker:IntegrationCustomIssueTracker tracker 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -11158,7 +11158,7 @@ } }, "gitlab:index/integrationEmailsOnPush:IntegrationEmailsOnPush": { - "description": "The `gitlab.IntegrationEmailsOnPush` resource allows to manage the lifecycle of a project integration with Emails on Push Service.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#emails-on-push)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst emails = new gitlab.IntegrationEmailsOnPush(\"emails\", {\n project: awesomeProject.id,\n recipients: \"myrecipient@example.com myotherrecipient@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nemails = gitlab.IntegrationEmailsOnPush(\"emails\",\n project=awesome_project.id,\n recipients=\"myrecipient@example.com myotherrecipient@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var emails = new GitLab.IntegrationEmailsOnPush(\"emails\", new()\n {\n Project = awesomeProject.Id,\n Recipients = \"myrecipient@example.com myotherrecipient@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationEmailsOnPush(ctx, \"emails\", \u0026gitlab.IntegrationEmailsOnPushArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tRecipients: pulumi.String(\"myrecipient@example.com myotherrecipient@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationEmailsOnPush;\nimport com.pulumi.gitlab.IntegrationEmailsOnPushArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var emails = new IntegrationEmailsOnPush(\"emails\", IntegrationEmailsOnPushArgs.builder()\n .project(awesomeProject.id())\n .recipients(\"myrecipient@example.com myotherrecipient@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n emails:\n type: gitlab:IntegrationEmailsOnPush\n properties:\n project: ${awesomeProject.id}\n recipients: myrecipient@example.com myotherrecipient@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_emails_on_push state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationEmailsOnPush:IntegrationEmailsOnPush emails 1\n```\n\n", + "description": "The `gitlab.IntegrationEmailsOnPush` resource allows to manage the lifecycle of a project integration with Emails on Push Service.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#emails-on-push)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst emails = new gitlab.IntegrationEmailsOnPush(\"emails\", {\n project: awesomeProject.id,\n recipients: \"myrecipient@example.com myotherrecipient@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nemails = gitlab.IntegrationEmailsOnPush(\"emails\",\n project=awesome_project.id,\n recipients=\"myrecipient@example.com myotherrecipient@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var emails = new GitLab.IntegrationEmailsOnPush(\"emails\", new()\n {\n Project = awesomeProject.Id,\n Recipients = \"myrecipient@example.com myotherrecipient@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationEmailsOnPush(ctx, \"emails\", \u0026gitlab.IntegrationEmailsOnPushArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tRecipients: pulumi.String(\"myrecipient@example.com myotherrecipient@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationEmailsOnPush;\nimport com.pulumi.gitlab.IntegrationEmailsOnPushArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var emails = new IntegrationEmailsOnPush(\"emails\", IntegrationEmailsOnPushArgs.builder()\n .project(awesomeProject.id())\n .recipients(\"myrecipient@example.com myotherrecipient@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n emails:\n type: gitlab:IntegrationEmailsOnPush\n properties:\n project: ${awesomeProject.id}\n recipients: myrecipient@example.com myotherrecipient@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_emails_on_push state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationEmailsOnPush:IntegrationEmailsOnPush emails 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -11310,7 +11310,7 @@ } }, "gitlab:index/integrationExternalWiki:IntegrationExternalWiki": { - "description": "The `gitlab.IntegrationExternalWiki` resource allows to manage the lifecycle of a project integration with External Wiki Service.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#external-wiki)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst wiki = new gitlab.IntegrationExternalWiki(\"wiki\", {\n project: awesomeProject.id,\n externalWikiUrl: \"https://MyAwesomeExternalWikiURL.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nwiki = gitlab.IntegrationExternalWiki(\"wiki\",\n project=awesome_project.id,\n external_wiki_url=\"https://MyAwesomeExternalWikiURL.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var wiki = new GitLab.IntegrationExternalWiki(\"wiki\", new()\n {\n Project = awesomeProject.Id,\n ExternalWikiUrl = \"https://MyAwesomeExternalWikiURL.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationExternalWiki(ctx, \"wiki\", \u0026gitlab.IntegrationExternalWikiArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tExternalWikiUrl: pulumi.String(\"https://MyAwesomeExternalWikiURL.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationExternalWiki;\nimport com.pulumi.gitlab.IntegrationExternalWikiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var wiki = new IntegrationExternalWiki(\"wiki\", IntegrationExternalWikiArgs.builder()\n .project(awesomeProject.id())\n .externalWikiUrl(\"https://MyAwesomeExternalWikiURL.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n wiki:\n type: gitlab:IntegrationExternalWiki\n properties:\n project: ${awesomeProject.id}\n externalWikiUrl: https://MyAwesomeExternalWikiURL.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_external_wiki state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationExternalWiki:IntegrationExternalWiki wiki 1\n```\n\n", + "description": "The `gitlab.IntegrationExternalWiki` resource allows to manage the lifecycle of a project integration with External Wiki Service.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#external-wiki)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst wiki = new gitlab.IntegrationExternalWiki(\"wiki\", {\n project: awesomeProject.id,\n externalWikiUrl: \"https://MyAwesomeExternalWikiURL.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nwiki = gitlab.IntegrationExternalWiki(\"wiki\",\n project=awesome_project.id,\n external_wiki_url=\"https://MyAwesomeExternalWikiURL.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var wiki = new GitLab.IntegrationExternalWiki(\"wiki\", new()\n {\n Project = awesomeProject.Id,\n ExternalWikiUrl = \"https://MyAwesomeExternalWikiURL.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationExternalWiki(ctx, \"wiki\", \u0026gitlab.IntegrationExternalWikiArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tExternalWikiUrl: pulumi.String(\"https://MyAwesomeExternalWikiURL.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationExternalWiki;\nimport com.pulumi.gitlab.IntegrationExternalWikiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var wiki = new IntegrationExternalWiki(\"wiki\", IntegrationExternalWikiArgs.builder()\n .project(awesomeProject.id())\n .externalWikiUrl(\"https://MyAwesomeExternalWikiURL.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n wiki:\n type: gitlab:IntegrationExternalWiki\n properties:\n project: ${awesomeProject.id}\n externalWikiUrl: https://MyAwesomeExternalWikiURL.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_external_wiki state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationExternalWiki:IntegrationExternalWiki wiki 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -11402,7 +11402,7 @@ } }, "gitlab:index/integrationGithub:IntegrationGithub": { - "description": "The `gitlab.IntegrationGithub` resource allows to manage the lifecycle of a project integration with GitHub.\n\n\u003e This resource requires a GitLab Enterprise instance.\n\t\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#github)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst github = new gitlab.IntegrationGithub(\"github\", {\n project: awesomeProject.id,\n token: \"REDACTED\",\n repositoryUrl: \"https://github.com/gitlabhq/terraform-provider-gitlab\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\ngithub = gitlab.IntegrationGithub(\"github\",\n project=awesome_project.id,\n token=\"REDACTED\",\n repository_url=\"https://github.com/gitlabhq/terraform-provider-gitlab\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var github = new GitLab.IntegrationGithub(\"github\", new()\n {\n Project = awesomeProject.Id,\n Token = \"REDACTED\",\n RepositoryUrl = \"https://github.com/gitlabhq/terraform-provider-gitlab\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationGithub(ctx, \"github\", \u0026gitlab.IntegrationGithubArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tToken: pulumi.String(\"REDACTED\"),\n\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/gitlabhq/terraform-provider-gitlab\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationGithub;\nimport com.pulumi.gitlab.IntegrationGithubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var github = new IntegrationGithub(\"github\", IntegrationGithubArgs.builder()\n .project(awesomeProject.id())\n .token(\"REDACTED\")\n .repositoryUrl(\"https://github.com/gitlabhq/terraform-provider-gitlab\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n github:\n type: gitlab:IntegrationGithub\n properties:\n project: ${awesomeProject.id}\n token: REDACTED\n repositoryUrl: https://github.com/gitlabhq/terraform-provider-gitlab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import gitlab:index/integrationGithub:IntegrationGithub You can import a gitlab_integration_github state using `\u003cresource\u003e \u003cproject_id\u003e`:\n```\n\n```sh\n$ pulumi import gitlab:index/integrationGithub:IntegrationGithub github 1\n```\n\n", + "description": "The `gitlab.IntegrationGithub` resource allows to manage the lifecycle of a project integration with GitHub.\n\n\u003e This resource requires a GitLab Enterprise instance.\n\t\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#github)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst github = new gitlab.IntegrationGithub(\"github\", {\n project: awesomeProject.id,\n token: \"REDACTED\",\n repositoryUrl: \"https://github.com/gitlabhq/terraform-provider-gitlab\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\ngithub = gitlab.IntegrationGithub(\"github\",\n project=awesome_project.id,\n token=\"REDACTED\",\n repository_url=\"https://github.com/gitlabhq/terraform-provider-gitlab\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var github = new GitLab.IntegrationGithub(\"github\", new()\n {\n Project = awesomeProject.Id,\n Token = \"REDACTED\",\n RepositoryUrl = \"https://github.com/gitlabhq/terraform-provider-gitlab\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationGithub(ctx, \"github\", \u0026gitlab.IntegrationGithubArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tToken: pulumi.String(\"REDACTED\"),\n\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/gitlabhq/terraform-provider-gitlab\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationGithub;\nimport com.pulumi.gitlab.IntegrationGithubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var github = new IntegrationGithub(\"github\", IntegrationGithubArgs.builder()\n .project(awesomeProject.id())\n .token(\"REDACTED\")\n .repositoryUrl(\"https://github.com/gitlabhq/terraform-provider-gitlab\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n github:\n type: gitlab:IntegrationGithub\n properties:\n project: ${awesomeProject.id}\n token: REDACTED\n repositoryUrl: https://github.com/gitlabhq/terraform-provider-gitlab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import gitlab:index/integrationGithub:IntegrationGithub You can import a gitlab_integration_github state using `\u003cresource\u003e \u003cproject_id\u003e`:\n```\n\n```sh\n$ pulumi import gitlab:index/integrationGithub:IntegrationGithub github 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -11510,8 +11510,155 @@ "type": "object" } }, + "gitlab:index/integrationJenkins:IntegrationJenkins": { + "description": "The `gitlab.IntegrationJenkins` resource allows to manage the lifecycle of a project integration with Jenkins.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#jenkins)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst jenkins = new gitlab.IntegrationJenkins(\"jenkins\", {\n project: awesomeProject.id,\n jenkinsUrl: \"http://jenkins.example.com\",\n projectName: \"my_project_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\njenkins = gitlab.IntegrationJenkins(\"jenkins\",\n project=awesome_project.id,\n jenkins_url=\"http://jenkins.example.com\",\n project_name=\"my_project_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var jenkins = new GitLab.IntegrationJenkins(\"jenkins\", new()\n {\n Project = awesomeProject.Id,\n JenkinsUrl = \"http://jenkins.example.com\",\n ProjectName = \"my_project_name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationJenkins(ctx, \"jenkins\", \u0026gitlab.IntegrationJenkinsArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tJenkinsUrl: pulumi.String(\"http://jenkins.example.com\"),\n\t\t\tProjectName: pulumi.String(\"my_project_name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationJenkins;\nimport com.pulumi.gitlab.IntegrationJenkinsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var jenkins = new IntegrationJenkins(\"jenkins\", IntegrationJenkinsArgs.builder()\n .project(awesomeProject.id())\n .jenkinsUrl(\"http://jenkins.example.com\")\n .projectName(\"my_project_name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n jenkins:\n type: gitlab:IntegrationJenkins\n properties:\n project: ${awesomeProject.id}\n jenkinsUrl: http://jenkins.example.com\n projectName: my_project_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins You can import a gitlab_integration_jenkins state using `\u003cresource\u003e \u003cproject_id\u003e`:\n```\n\n```sh\n$ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins jenkins 1\n```\n\n", + "properties": { + "active": { + "type": "boolean", + "description": "Whether the integration is active.\n" + }, + "enableSslVerification": { + "type": "boolean", + "description": "Enable SSL verification. Defaults to `true` (enabled).\n" + }, + "jenkinsUrl": { + "type": "string", + "description": "Jenkins URL like `http://jenkins.example.com`\n" + }, + "mergeRequestEvents": { + "type": "boolean", + "description": "Enable notifications for merge request events.\n" + }, + "password": { + "type": "string", + "description": "Password for authentication with the Jenkins server, if authentication is required by the server.\n", + "secret": true + }, + "project": { + "type": "string", + "description": "ID of the project you want to activate integration on.\n" + }, + "projectName": { + "type": "string", + "description": "The URL-friendly project name. Example: `my_project_name`.\n" + }, + "pushEvents": { + "type": "boolean", + "description": "Enable notifications for push events.\n" + }, + "tagPushEvents": { + "type": "boolean", + "description": "Enable notifications for tag push events.\n" + }, + "username": { + "type": "string", + "description": "Username for authentication with the Jenkins server, if authentication is required by the server.\n" + } + }, + "required": [ + "active", + "enableSslVerification", + "jenkinsUrl", + "mergeRequestEvents", + "project", + "projectName", + "pushEvents", + "tagPushEvents" + ], + "inputProperties": { + "enableSslVerification": { + "type": "boolean", + "description": "Enable SSL verification. Defaults to `true` (enabled).\n" + }, + "jenkinsUrl": { + "type": "string", + "description": "Jenkins URL like `http://jenkins.example.com`\n" + }, + "mergeRequestEvents": { + "type": "boolean", + "description": "Enable notifications for merge request events.\n" + }, + "password": { + "type": "string", + "description": "Password for authentication with the Jenkins server, if authentication is required by the server.\n", + "secret": true + }, + "project": { + "type": "string", + "description": "ID of the project you want to activate integration on.\n" + }, + "projectName": { + "type": "string", + "description": "The URL-friendly project name. Example: `my_project_name`.\n" + }, + "pushEvents": { + "type": "boolean", + "description": "Enable notifications for push events.\n" + }, + "tagPushEvents": { + "type": "boolean", + "description": "Enable notifications for tag push events.\n" + }, + "username": { + "type": "string", + "description": "Username for authentication with the Jenkins server, if authentication is required by the server.\n" + } + }, + "requiredInputs": [ + "jenkinsUrl", + "project", + "projectName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering IntegrationJenkins resources.\n", + "properties": { + "active": { + "type": "boolean", + "description": "Whether the integration is active.\n" + }, + "enableSslVerification": { + "type": "boolean", + "description": "Enable SSL verification. Defaults to `true` (enabled).\n" + }, + "jenkinsUrl": { + "type": "string", + "description": "Jenkins URL like `http://jenkins.example.com`\n" + }, + "mergeRequestEvents": { + "type": "boolean", + "description": "Enable notifications for merge request events.\n" + }, + "password": { + "type": "string", + "description": "Password for authentication with the Jenkins server, if authentication is required by the server.\n", + "secret": true + }, + "project": { + "type": "string", + "description": "ID of the project you want to activate integration on.\n" + }, + "projectName": { + "type": "string", + "description": "The URL-friendly project name. Example: `my_project_name`.\n" + }, + "pushEvents": { + "type": "boolean", + "description": "Enable notifications for push events.\n" + }, + "tagPushEvents": { + "type": "boolean", + "description": "Enable notifications for tag push events.\n" + }, + "username": { + "type": "string", + "description": "Username for authentication with the Jenkins server, if authentication is required by the server.\n" + } + }, + "type": "object" + } + }, "gitlab:index/integrationJira:IntegrationJira": { - "description": "The `gitlab.IntegrationJira` resource allows to manage the lifecycle of a project integration with Jira.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/services.html#jira)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst jira = new gitlab.IntegrationJira(\"jira\", {\n project: awesomeProject.id,\n url: \"https://jira.example.com\",\n username: \"user\",\n password: \"mypass\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\njira = gitlab.IntegrationJira(\"jira\",\n project=awesome_project.id,\n url=\"https://jira.example.com\",\n username=\"user\",\n password=\"mypass\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var jira = new GitLab.IntegrationJira(\"jira\", new()\n {\n Project = awesomeProject.Id,\n Url = \"https://jira.example.com\",\n Username = \"user\",\n Password = \"mypass\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationJira(ctx, \"jira\", \u0026gitlab.IntegrationJiraArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tUrl: pulumi.String(\"https://jira.example.com\"),\n\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\tPassword: pulumi.String(\"mypass\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationJira;\nimport com.pulumi.gitlab.IntegrationJiraArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var jira = new IntegrationJira(\"jira\", IntegrationJiraArgs.builder()\n .project(awesomeProject.id())\n .url(\"https://jira.example.com\")\n .username(\"user\")\n .password(\"mypass\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n jira:\n type: gitlab:IntegrationJira\n properties:\n project: ${awesomeProject.id}\n url: https://jira.example.com\n username: user\n password: mypass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_jira state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationJira:IntegrationJira jira 1\n```\n\n", + "description": "The `gitlab.IntegrationJira` resource allows to manage the lifecycle of a project integration with Jira.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/services.html#jira)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst jira = new gitlab.IntegrationJira(\"jira\", {\n project: awesomeProject.id,\n url: \"https://jira.example.com\",\n username: \"user\",\n password: \"mypass\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\njira = gitlab.IntegrationJira(\"jira\",\n project=awesome_project.id,\n url=\"https://jira.example.com\",\n username=\"user\",\n password=\"mypass\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var jira = new GitLab.IntegrationJira(\"jira\", new()\n {\n Project = awesomeProject.Id,\n Url = \"https://jira.example.com\",\n Username = \"user\",\n Password = \"mypass\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationJira(ctx, \"jira\", \u0026gitlab.IntegrationJiraArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tUrl: pulumi.String(\"https://jira.example.com\"),\n\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\tPassword: pulumi.String(\"mypass\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationJira;\nimport com.pulumi.gitlab.IntegrationJiraArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var jira = new IntegrationJira(\"jira\", IntegrationJiraArgs.builder()\n .project(awesomeProject.id())\n .url(\"https://jira.example.com\")\n .username(\"user\")\n .password(\"mypass\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n jira:\n type: gitlab:IntegrationJira\n properties:\n project: ${awesomeProject.id}\n url: https://jira.example.com\n username: user\n password: mypass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_jira state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationJira:IntegrationJira jira 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -11779,7 +11926,7 @@ } }, "gitlab:index/integrationMattermost:IntegrationMattermost": { - "description": "The `gitlab.IntegrationMattermost` resource allows to manage the lifecycle of a project integration with Mattermost.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#mattermost-notifications)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst mattermost = new gitlab.IntegrationMattermost(\"mattermost\", {\n project: awesomeProject.id,\n webhook: \"https://webhook.com\",\n username: \"myuser\",\n pushEvents: true,\n pushChannel: \"push_chan\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nmattermost = gitlab.IntegrationMattermost(\"mattermost\",\n project=awesome_project.id,\n webhook=\"https://webhook.com\",\n username=\"myuser\",\n push_events=True,\n push_channel=\"push_chan\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var mattermost = new GitLab.IntegrationMattermost(\"mattermost\", new()\n {\n Project = awesomeProject.Id,\n Webhook = \"https://webhook.com\",\n Username = \"myuser\",\n PushEvents = true,\n PushChannel = \"push_chan\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationMattermost(ctx, \"mattermost\", \u0026gitlab.IntegrationMattermostArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tWebhook: pulumi.String(\"https://webhook.com\"),\n\t\t\tUsername: pulumi.String(\"myuser\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t\tPushChannel: pulumi.String(\"push_chan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationMattermost;\nimport com.pulumi.gitlab.IntegrationMattermostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var mattermost = new IntegrationMattermost(\"mattermost\", IntegrationMattermostArgs.builder()\n .project(awesomeProject.id())\n .webhook(\"https://webhook.com\")\n .username(\"myuser\")\n .pushEvents(true)\n .pushChannel(\"push_chan\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n mattermost:\n type: gitlab:IntegrationMattermost\n properties:\n project: ${awesomeProject.id}\n webhook: https://webhook.com\n username: myuser\n pushEvents: true\n pushChannel: push_chan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_mattermost.mattermost state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationMattermost:IntegrationMattermost mattermost 1\n```\n\n", + "description": "The `gitlab.IntegrationMattermost` resource allows to manage the lifecycle of a project integration with Mattermost.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#mattermost-notifications)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst mattermost = new gitlab.IntegrationMattermost(\"mattermost\", {\n project: awesomeProject.id,\n webhook: \"https://webhook.com\",\n username: \"myuser\",\n pushEvents: true,\n pushChannel: \"push_chan\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nmattermost = gitlab.IntegrationMattermost(\"mattermost\",\n project=awesome_project.id,\n webhook=\"https://webhook.com\",\n username=\"myuser\",\n push_events=True,\n push_channel=\"push_chan\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var mattermost = new GitLab.IntegrationMattermost(\"mattermost\", new()\n {\n Project = awesomeProject.Id,\n Webhook = \"https://webhook.com\",\n Username = \"myuser\",\n PushEvents = true,\n PushChannel = \"push_chan\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationMattermost(ctx, \"mattermost\", \u0026gitlab.IntegrationMattermostArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tWebhook: pulumi.String(\"https://webhook.com\"),\n\t\t\tUsername: pulumi.String(\"myuser\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t\tPushChannel: pulumi.String(\"push_chan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationMattermost;\nimport com.pulumi.gitlab.IntegrationMattermostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var mattermost = new IntegrationMattermost(\"mattermost\", IntegrationMattermostArgs.builder()\n .project(awesomeProject.id())\n .webhook(\"https://webhook.com\")\n .username(\"myuser\")\n .pushEvents(true)\n .pushChannel(\"push_chan\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n mattermost:\n type: gitlab:IntegrationMattermost\n properties:\n project: ${awesomeProject.id}\n webhook: https://webhook.com\n username: myuser\n pushEvents: true\n pushChannel: push_chan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_mattermost.mattermost state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationMattermost:IntegrationMattermost mattermost 1\n```\n\n", "properties": { "branchesToBeNotified": { "type": "string", @@ -12089,7 +12236,7 @@ } }, "gitlab:index/integrationMicrosoftTeams:IntegrationMicrosoftTeams": { - "description": "The `gitlab.IntegrationMicrosoftTeams` resource allows to manage the lifecycle of a project integration with Microsoft Teams.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#microsoft-teams)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst teams = new gitlab.IntegrationMicrosoftTeams(\"teams\", {\n project: awesomeProject.id,\n webhook: \"https://testurl.com/?token=XYZ\",\n pushEvents: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nteams = gitlab.IntegrationMicrosoftTeams(\"teams\",\n project=awesome_project.id,\n webhook=\"https://testurl.com/?token=XYZ\",\n push_events=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var teams = new GitLab.IntegrationMicrosoftTeams(\"teams\", new()\n {\n Project = awesomeProject.Id,\n Webhook = \"https://testurl.com/?token=XYZ\",\n PushEvents = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationMicrosoftTeams(ctx, \"teams\", \u0026gitlab.IntegrationMicrosoftTeamsArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tWebhook: pulumi.String(\"https://testurl.com/?token=XYZ\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationMicrosoftTeams;\nimport com.pulumi.gitlab.IntegrationMicrosoftTeamsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var teams = new IntegrationMicrosoftTeams(\"teams\", IntegrationMicrosoftTeamsArgs.builder()\n .project(awesomeProject.id())\n .webhook(\"https://testurl.com/?token=XYZ\")\n .pushEvents(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n teams:\n type: gitlab:IntegrationMicrosoftTeams\n properties:\n project: ${awesomeProject.id}\n webhook: https://testurl.com/?token=XYZ\n pushEvents: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_microsoft_teams state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationMicrosoftTeams:IntegrationMicrosoftTeams teams 1\n```\n\n", + "description": "The `gitlab.IntegrationMicrosoftTeams` resource allows to manage the lifecycle of a project integration with Microsoft Teams.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#microsoft-teams)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst teams = new gitlab.IntegrationMicrosoftTeams(\"teams\", {\n project: awesomeProject.id,\n webhook: \"https://testurl.com/?token=XYZ\",\n pushEvents: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nteams = gitlab.IntegrationMicrosoftTeams(\"teams\",\n project=awesome_project.id,\n webhook=\"https://testurl.com/?token=XYZ\",\n push_events=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var teams = new GitLab.IntegrationMicrosoftTeams(\"teams\", new()\n {\n Project = awesomeProject.Id,\n Webhook = \"https://testurl.com/?token=XYZ\",\n PushEvents = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationMicrosoftTeams(ctx, \"teams\", \u0026gitlab.IntegrationMicrosoftTeamsArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tWebhook: pulumi.String(\"https://testurl.com/?token=XYZ\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationMicrosoftTeams;\nimport com.pulumi.gitlab.IntegrationMicrosoftTeamsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var teams = new IntegrationMicrosoftTeams(\"teams\", IntegrationMicrosoftTeamsArgs.builder()\n .project(awesomeProject.id())\n .webhook(\"https://testurl.com/?token=XYZ\")\n .pushEvents(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n teams:\n type: gitlab:IntegrationMicrosoftTeams\n properties:\n project: ${awesomeProject.id}\n webhook: https://testurl.com/?token=XYZ\n pushEvents: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_microsoft_teams state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationMicrosoftTeams:IntegrationMicrosoftTeams teams 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -12295,7 +12442,7 @@ } }, "gitlab:index/integrationPipelinesEmail:IntegrationPipelinesEmail": { - "description": "The `gitlab.IntegrationPipelinesEmail` resource allows to manage the lifecycle of a project integration with Pipeline Emails Service.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#pipeline-emails)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst email = new gitlab.IntegrationPipelinesEmail(\"email\", {\n project: awesomeProject.id,\n recipients: [\"gitlab@user.create\"],\n notifyOnlyBrokenPipelines: true,\n branchesToBeNotified: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nemail = gitlab.IntegrationPipelinesEmail(\"email\",\n project=awesome_project.id,\n recipients=[\"gitlab@user.create\"],\n notify_only_broken_pipelines=True,\n branches_to_be_notified=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var email = new GitLab.IntegrationPipelinesEmail(\"email\", new()\n {\n Project = awesomeProject.Id,\n Recipients = new[]\n {\n \"gitlab@user.create\",\n },\n NotifyOnlyBrokenPipelines = true,\n BranchesToBeNotified = \"all\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationPipelinesEmail(ctx, \"email\", \u0026gitlab.IntegrationPipelinesEmailArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tRecipients: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"gitlab@user.create\"),\n\t\t\t},\n\t\t\tNotifyOnlyBrokenPipelines: pulumi.Bool(true),\n\t\t\tBranchesToBeNotified: pulumi.String(\"all\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationPipelinesEmail;\nimport com.pulumi.gitlab.IntegrationPipelinesEmailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var email = new IntegrationPipelinesEmail(\"email\", IntegrationPipelinesEmailArgs.builder()\n .project(awesomeProject.id())\n .recipients(\"gitlab@user.create\")\n .notifyOnlyBrokenPipelines(true)\n .branchesToBeNotified(\"all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n email:\n type: gitlab:IntegrationPipelinesEmail\n properties:\n project: ${awesomeProject.id}\n recipients:\n - gitlab@user.create\n notifyOnlyBrokenPipelines: true\n branchesToBeNotified: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_pipelines_email state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationPipelinesEmail:IntegrationPipelinesEmail email 1\n```\n\n", + "description": "The `gitlab.IntegrationPipelinesEmail` resource allows to manage the lifecycle of a project integration with Pipeline Emails Service.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#pipeline-emails)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst email = new gitlab.IntegrationPipelinesEmail(\"email\", {\n project: awesomeProject.id,\n recipients: [\"gitlab@user.create\"],\n notifyOnlyBrokenPipelines: true,\n branchesToBeNotified: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nemail = gitlab.IntegrationPipelinesEmail(\"email\",\n project=awesome_project.id,\n recipients=[\"gitlab@user.create\"],\n notify_only_broken_pipelines=True,\n branches_to_be_notified=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var email = new GitLab.IntegrationPipelinesEmail(\"email\", new()\n {\n Project = awesomeProject.Id,\n Recipients = new[]\n {\n \"gitlab@user.create\",\n },\n NotifyOnlyBrokenPipelines = true,\n BranchesToBeNotified = \"all\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationPipelinesEmail(ctx, \"email\", \u0026gitlab.IntegrationPipelinesEmailArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tRecipients: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"gitlab@user.create\"),\n\t\t\t},\n\t\t\tNotifyOnlyBrokenPipelines: pulumi.Bool(true),\n\t\t\tBranchesToBeNotified: pulumi.String(\"all\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationPipelinesEmail;\nimport com.pulumi.gitlab.IntegrationPipelinesEmailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var email = new IntegrationPipelinesEmail(\"email\", IntegrationPipelinesEmailArgs.builder()\n .project(awesomeProject.id())\n .recipients(\"gitlab@user.create\")\n .notifyOnlyBrokenPipelines(true)\n .branchesToBeNotified(\"all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n email:\n type: gitlab:IntegrationPipelinesEmail\n properties:\n project: ${awesomeProject.id}\n recipients:\n - gitlab@user.create\n notifyOnlyBrokenPipelines: true\n branchesToBeNotified: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_pipelines_email state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationPipelinesEmail:IntegrationPipelinesEmail email 1\n```\n\n", "properties": { "branchesToBeNotified": { "type": "string", @@ -12375,7 +12522,7 @@ } }, "gitlab:index/integrationSlack:IntegrationSlack": { - "description": "The `gitlab.IntegrationSlack` resource allows to manage the lifecycle of a project integration with Slack.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#slack-notifications)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst slack = new gitlab.IntegrationSlack(\"slack\", {\n project: awesomeProject.id,\n webhook: \"https://webhook.com\",\n username: \"myuser\",\n pushEvents: true,\n pushChannel: \"push_chan\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nslack = gitlab.IntegrationSlack(\"slack\",\n project=awesome_project.id,\n webhook=\"https://webhook.com\",\n username=\"myuser\",\n push_events=True,\n push_channel=\"push_chan\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var slack = new GitLab.IntegrationSlack(\"slack\", new()\n {\n Project = awesomeProject.Id,\n Webhook = \"https://webhook.com\",\n Username = \"myuser\",\n PushEvents = true,\n PushChannel = \"push_chan\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationSlack(ctx, \"slack\", \u0026gitlab.IntegrationSlackArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tWebhook: pulumi.String(\"https://webhook.com\"),\n\t\t\tUsername: pulumi.String(\"myuser\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t\tPushChannel: pulumi.String(\"push_chan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationSlack;\nimport com.pulumi.gitlab.IntegrationSlackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var slack = new IntegrationSlack(\"slack\", IntegrationSlackArgs.builder()\n .project(awesomeProject.id())\n .webhook(\"https://webhook.com\")\n .username(\"myuser\")\n .pushEvents(true)\n .pushChannel(\"push_chan\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n slack:\n type: gitlab:IntegrationSlack\n properties:\n project: ${awesomeProject.id}\n webhook: https://webhook.com\n username: myuser\n pushEvents: true\n pushChannel: push_chan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_slack.slack state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationSlack:IntegrationSlack slack 1\n```\n\n", + "description": "The `gitlab.IntegrationSlack` resource allows to manage the lifecycle of a project integration with Slack.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#slack-notifications)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst slack = new gitlab.IntegrationSlack(\"slack\", {\n project: awesomeProject.id,\n webhook: \"https://webhook.com\",\n username: \"myuser\",\n pushEvents: true,\n pushChannel: \"push_chan\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nslack = gitlab.IntegrationSlack(\"slack\",\n project=awesome_project.id,\n webhook=\"https://webhook.com\",\n username=\"myuser\",\n push_events=True,\n push_channel=\"push_chan\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var slack = new GitLab.IntegrationSlack(\"slack\", new()\n {\n Project = awesomeProject.Id,\n Webhook = \"https://webhook.com\",\n Username = \"myuser\",\n PushEvents = true,\n PushChannel = \"push_chan\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewIntegrationSlack(ctx, \"slack\", \u0026gitlab.IntegrationSlackArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tWebhook: pulumi.String(\"https://webhook.com\"),\n\t\t\tUsername: pulumi.String(\"myuser\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t\tPushChannel: pulumi.String(\"push_chan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.IntegrationSlack;\nimport com.pulumi.gitlab.IntegrationSlackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var slack = new IntegrationSlack(\"slack\", IntegrationSlackArgs.builder()\n .project(awesomeProject.id())\n .webhook(\"https://webhook.com\")\n .username(\"myuser\")\n .pushEvents(true)\n .pushChannel(\"push_chan\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n slack:\n type: gitlab:IntegrationSlack\n properties:\n project: ${awesomeProject.id}\n webhook: https://webhook.com\n username: myuser\n pushEvents: true\n pushChannel: push_chan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_integration_slack.slack state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/integrationSlack:IntegrationSlack slack 1\n```\n\n", "properties": { "branchesToBeNotified": { "type": "string", @@ -12904,7 +13051,7 @@ } }, "gitlab:index/personalAccessToken:PersonalAccessToken": { - "description": "The `gitlab.PersonalAccessToken` resource allows to manage the lifecycle of a personal access token for a specified user.\n\n\u003e This resource requires administration privileges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/personal_access_tokens.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.PersonalAccessToken(\"example\", {\n userId: 25,\n name: \"Example personal access token\",\n expiresAt: \"2020-03-14\",\n scopes: [\"api\"],\n});\nconst exampleProjectVariable = new gitlab.ProjectVariable(\"example\", {\n project: exampleGitlabProject.id,\n key: \"pat\",\n value: example.token,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.PersonalAccessToken(\"example\",\n user_id=25,\n name=\"Example personal access token\",\n expires_at=\"2020-03-14\",\n scopes=[\"api\"])\nexample_project_variable = gitlab.ProjectVariable(\"example\",\n project=example_gitlab_project[\"id\"],\n key=\"pat\",\n value=example.token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.PersonalAccessToken(\"example\", new()\n {\n UserId = 25,\n Name = \"Example personal access token\",\n ExpiresAt = \"2020-03-14\",\n Scopes = new[]\n {\n \"api\",\n },\n });\n\n var exampleProjectVariable = new GitLab.ProjectVariable(\"example\", new()\n {\n Project = exampleGitlabProject.Id,\n Key = \"pat\",\n Value = example.Token,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewPersonalAccessToken(ctx, \"example\", \u0026gitlab.PersonalAccessTokenArgs{\n\t\t\tUserId: pulumi.Int(25),\n\t\t\tName: pulumi.String(\"Example personal access token\"),\n\t\t\tExpiresAt: pulumi.String(\"2020-03-14\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectVariable(ctx, \"example\", \u0026gitlab.ProjectVariableArgs{\n\t\t\tProject: pulumi.Any(exampleGitlabProject.Id),\n\t\t\tKey: pulumi.String(\"pat\"),\n\t\t\tValue: example.Token,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.PersonalAccessToken;\nimport com.pulumi.gitlab.PersonalAccessTokenArgs;\nimport com.pulumi.gitlab.ProjectVariable;\nimport com.pulumi.gitlab.ProjectVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PersonalAccessToken(\"example\", PersonalAccessTokenArgs.builder()\n .userId(\"25\")\n .name(\"Example personal access token\")\n .expiresAt(\"2020-03-14\")\n .scopes(\"api\")\n .build());\n\n var exampleProjectVariable = new ProjectVariable(\"exampleProjectVariable\", ProjectVariableArgs.builder()\n .project(exampleGitlabProject.id())\n .key(\"pat\")\n .value(example.token())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:PersonalAccessToken\n properties:\n userId: '25'\n name: Example personal access token\n expiresAt: 2020-03-14\n scopes:\n - api\n exampleProjectVariable:\n type: gitlab:ProjectVariable\n name: example\n properties:\n project: ${exampleGitlabProject.id}\n key: pat\n value: ${example.token}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA GitLab Personal Access Token can be imported using a key composed of `\u003cuser-id\u003e:\u003ctoken-id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/personalAccessToken:PersonalAccessToken example \"12345:1\"\n```\n\nNOTE: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", + "description": "The `gitlab.PersonalAccessToken` resource allows to manage the lifecycle of a personal access token for a specified user.\n\n\u003e This resource requires administration privileges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/personal_access_tokens.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.PersonalAccessToken(\"example\", {\n userId: 25,\n name: \"Example personal access token\",\n expiresAt: \"2020-03-14\",\n scopes: [\"api\"],\n});\nconst exampleProjectVariable = new gitlab.ProjectVariable(\"example\", {\n project: exampleGitlabProject.id,\n key: \"pat\",\n value: example.token,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.PersonalAccessToken(\"example\",\n user_id=25,\n name=\"Example personal access token\",\n expires_at=\"2020-03-14\",\n scopes=[\"api\"])\nexample_project_variable = gitlab.ProjectVariable(\"example\",\n project=example_gitlab_project[\"id\"],\n key=\"pat\",\n value=example.token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.PersonalAccessToken(\"example\", new()\n {\n UserId = 25,\n Name = \"Example personal access token\",\n ExpiresAt = \"2020-03-14\",\n Scopes = new[]\n {\n \"api\",\n },\n });\n\n var exampleProjectVariable = new GitLab.ProjectVariable(\"example\", new()\n {\n Project = exampleGitlabProject.Id,\n Key = \"pat\",\n Value = example.Token,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewPersonalAccessToken(ctx, \"example\", \u0026gitlab.PersonalAccessTokenArgs{\n\t\t\tUserId: pulumi.Int(25),\n\t\t\tName: pulumi.String(\"Example personal access token\"),\n\t\t\tExpiresAt: pulumi.String(\"2020-03-14\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectVariable(ctx, \"example\", \u0026gitlab.ProjectVariableArgs{\n\t\t\tProject: pulumi.Any(exampleGitlabProject.Id),\n\t\t\tKey: pulumi.String(\"pat\"),\n\t\t\tValue: example.Token,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.PersonalAccessToken;\nimport com.pulumi.gitlab.PersonalAccessTokenArgs;\nimport com.pulumi.gitlab.ProjectVariable;\nimport com.pulumi.gitlab.ProjectVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PersonalAccessToken(\"example\", PersonalAccessTokenArgs.builder()\n .userId(\"25\")\n .name(\"Example personal access token\")\n .expiresAt(\"2020-03-14\")\n .scopes(\"api\")\n .build());\n\n var exampleProjectVariable = new ProjectVariable(\"exampleProjectVariable\", ProjectVariableArgs.builder()\n .project(exampleGitlabProject.id())\n .key(\"pat\")\n .value(example.token())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:PersonalAccessToken\n properties:\n userId: '25'\n name: Example personal access token\n expiresAt: 2020-03-14\n scopes:\n - api\n exampleProjectVariable:\n type: gitlab:ProjectVariable\n name: example\n properties:\n project: ${exampleGitlabProject.id}\n key: pat\n value: ${example.token}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA GitLab Personal Access Token can be imported using a key composed of `\u003cuser-id\u003e:\u003ctoken-id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/personalAccessToken:PersonalAccessToken example \"12345:1\"\n```\n\nNOTE: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", "properties": { "active": { "type": "boolean", @@ -13031,7 +13178,7 @@ } }, "gitlab:index/pipelineSchedule:PipelineSchedule": { - "description": "The `gitlab.PipelineSchedule` resource allows to manage the lifecycle of a scheduled pipeline.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/pipeline_schedules.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.PipelineSchedule(\"example\", {\n project: \"12345\",\n description: \"Used to schedule builds\",\n ref: \"master\",\n cron: \"0 1 * * *\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.PipelineSchedule(\"example\",\n project=\"12345\",\n description=\"Used to schedule builds\",\n ref=\"master\",\n cron=\"0 1 * * *\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.PipelineSchedule(\"example\", new()\n {\n Project = \"12345\",\n Description = \"Used to schedule builds\",\n Ref = \"master\",\n Cron = \"0 1 * * *\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewPipelineSchedule(ctx, \"example\", \u0026gitlab.PipelineScheduleArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Used to schedule builds\"),\n\t\t\tRef: pulumi.String(\"master\"),\n\t\t\tCron: pulumi.String(\"0 1 * * *\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.PipelineSchedule;\nimport com.pulumi.gitlab.PipelineScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PipelineSchedule(\"example\", PipelineScheduleArgs.builder()\n .project(\"12345\")\n .description(\"Used to schedule builds\")\n .ref(\"master\")\n .cron(\"0 1 * * *\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:PipelineSchedule\n properties:\n project: '12345'\n description: Used to schedule builds\n ref: master\n cron: 0 1 * * *\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab pipeline schedules can be imported using an id made up of `{project_id}:{pipeline_schedule_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/pipelineSchedule:PipelineSchedule test 1:3\n```\n\n", + "description": "The `gitlab.PipelineSchedule` resource allows to manage the lifecycle of a scheduled pipeline.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/pipeline_schedules.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.PipelineSchedule(\"example\", {\n project: \"12345\",\n description: \"Used to schedule builds\",\n ref: \"refs/heads/main\",\n cron: \"0 1 * * *\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.PipelineSchedule(\"example\",\n project=\"12345\",\n description=\"Used to schedule builds\",\n ref=\"refs/heads/main\",\n cron=\"0 1 * * *\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.PipelineSchedule(\"example\", new()\n {\n Project = \"12345\",\n Description = \"Used to schedule builds\",\n Ref = \"refs/heads/main\",\n Cron = \"0 1 * * *\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewPipelineSchedule(ctx, \"example\", \u0026gitlab.PipelineScheduleArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Used to schedule builds\"),\n\t\t\tRef: pulumi.String(\"refs/heads/main\"),\n\t\t\tCron: pulumi.String(\"0 1 * * *\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.PipelineSchedule;\nimport com.pulumi.gitlab.PipelineScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PipelineSchedule(\"example\", PipelineScheduleArgs.builder()\n .project(\"12345\")\n .description(\"Used to schedule builds\")\n .ref(\"refs/heads/main\")\n .cron(\"0 1 * * *\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:PipelineSchedule\n properties:\n project: '12345'\n description: Used to schedule builds\n ref: refs/heads/main\n cron: 0 1 * * *\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab pipeline schedules can be imported using an id made up of `{project_id}:{pipeline_schedule_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/pipelineSchedule:PipelineSchedule test 1:3\n```\n\n", "properties": { "active": { "type": "boolean", @@ -13063,7 +13210,7 @@ }, "ref": { "type": "string", - "description": "The branch/tag name to be triggered.\n" + "description": "The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`.\n" }, "takeOwnership": { "type": "boolean" @@ -13103,7 +13250,7 @@ }, "ref": { "type": "string", - "description": "The branch/tag name to be triggered.\n" + "description": "The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`.\n" }, "takeOwnership": { "type": "boolean" @@ -13148,7 +13295,7 @@ }, "ref": { "type": "string", - "description": "The branch/tag name to be triggered.\n" + "description": "The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`.\n" }, "takeOwnership": { "type": "boolean" @@ -13158,7 +13305,7 @@ } }, "gitlab:index/pipelineScheduleVariable:PipelineScheduleVariable": { - "description": "The `gitlab.PipelineScheduleVariable` resource allows to manage the lifecycle of a variable for a pipeline schedule.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/pipeline_schedules.html#pipeline-schedule-variables)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.PipelineSchedule(\"example\", {\n project: \"12345\",\n description: \"Used to schedule builds\",\n ref: \"master\",\n cron: \"0 1 * * *\",\n});\nconst examplePipelineScheduleVariable = new gitlab.PipelineScheduleVariable(\"example\", {\n project: example.project,\n pipelineScheduleId: example.pipelineScheduleId,\n key: \"EXAMPLE_KEY\",\n value: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.PipelineSchedule(\"example\",\n project=\"12345\",\n description=\"Used to schedule builds\",\n ref=\"master\",\n cron=\"0 1 * * *\")\nexample_pipeline_schedule_variable = gitlab.PipelineScheduleVariable(\"example\",\n project=example.project,\n pipeline_schedule_id=example.pipeline_schedule_id,\n key=\"EXAMPLE_KEY\",\n value=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.PipelineSchedule(\"example\", new()\n {\n Project = \"12345\",\n Description = \"Used to schedule builds\",\n Ref = \"master\",\n Cron = \"0 1 * * *\",\n });\n\n var examplePipelineScheduleVariable = new GitLab.PipelineScheduleVariable(\"example\", new()\n {\n Project = example.Project,\n PipelineScheduleId = example.PipelineScheduleId,\n Key = \"EXAMPLE_KEY\",\n Value = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewPipelineSchedule(ctx, \"example\", \u0026gitlab.PipelineScheduleArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Used to schedule builds\"),\n\t\t\tRef: pulumi.String(\"master\"),\n\t\t\tCron: pulumi.String(\"0 1 * * *\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewPipelineScheduleVariable(ctx, \"example\", \u0026gitlab.PipelineScheduleVariableArgs{\n\t\t\tProject: example.Project,\n\t\t\tPipelineScheduleId: example.PipelineScheduleId,\n\t\t\tKey: pulumi.String(\"EXAMPLE_KEY\"),\n\t\t\tValue: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.PipelineSchedule;\nimport com.pulumi.gitlab.PipelineScheduleArgs;\nimport com.pulumi.gitlab.PipelineScheduleVariable;\nimport com.pulumi.gitlab.PipelineScheduleVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PipelineSchedule(\"example\", PipelineScheduleArgs.builder()\n .project(\"12345\")\n .description(\"Used to schedule builds\")\n .ref(\"master\")\n .cron(\"0 1 * * *\")\n .build());\n\n var examplePipelineScheduleVariable = new PipelineScheduleVariable(\"examplePipelineScheduleVariable\", PipelineScheduleVariableArgs.builder()\n .project(example.project())\n .pipelineScheduleId(example.pipelineScheduleId())\n .key(\"EXAMPLE_KEY\")\n .value(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:PipelineSchedule\n properties:\n project: '12345'\n description: Used to schedule builds\n ref: master\n cron: 0 1 * * *\n examplePipelineScheduleVariable:\n type: gitlab:PipelineScheduleVariable\n name: example\n properties:\n project: ${example.project}\n pipelineScheduleId: ${example.pipelineScheduleId}\n key: EXAMPLE_KEY\n value: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPipeline schedule variables can be imported using an id made up of `project_id:pipeline_schedule_id:key`, e.g.\n\n```sh\n$ pulumi import gitlab:index/pipelineScheduleVariable:PipelineScheduleVariable example 123456789:13:mykey\n```\n\n", + "description": "The `gitlab.PipelineScheduleVariable` resource allows to manage the lifecycle of a variable for a pipeline schedule.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/pipeline_schedules.html#pipeline-schedule-variables)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.PipelineSchedule(\"example\", {\n project: \"12345\",\n description: \"Used to schedule builds\",\n ref: \"master\",\n cron: \"0 1 * * *\",\n});\nconst examplePipelineScheduleVariable = new gitlab.PipelineScheduleVariable(\"example\", {\n project: example.project,\n pipelineScheduleId: example.pipelineScheduleId,\n key: \"EXAMPLE_KEY\",\n value: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.PipelineSchedule(\"example\",\n project=\"12345\",\n description=\"Used to schedule builds\",\n ref=\"master\",\n cron=\"0 1 * * *\")\nexample_pipeline_schedule_variable = gitlab.PipelineScheduleVariable(\"example\",\n project=example.project,\n pipeline_schedule_id=example.pipeline_schedule_id,\n key=\"EXAMPLE_KEY\",\n value=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.PipelineSchedule(\"example\", new()\n {\n Project = \"12345\",\n Description = \"Used to schedule builds\",\n Ref = \"master\",\n Cron = \"0 1 * * *\",\n });\n\n var examplePipelineScheduleVariable = new GitLab.PipelineScheduleVariable(\"example\", new()\n {\n Project = example.Project,\n PipelineScheduleId = example.PipelineScheduleId,\n Key = \"EXAMPLE_KEY\",\n Value = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewPipelineSchedule(ctx, \"example\", \u0026gitlab.PipelineScheduleArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Used to schedule builds\"),\n\t\t\tRef: pulumi.String(\"master\"),\n\t\t\tCron: pulumi.String(\"0 1 * * *\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewPipelineScheduleVariable(ctx, \"example\", \u0026gitlab.PipelineScheduleVariableArgs{\n\t\t\tProject: example.Project,\n\t\t\tPipelineScheduleId: example.PipelineScheduleId,\n\t\t\tKey: pulumi.String(\"EXAMPLE_KEY\"),\n\t\t\tValue: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.PipelineSchedule;\nimport com.pulumi.gitlab.PipelineScheduleArgs;\nimport com.pulumi.gitlab.PipelineScheduleVariable;\nimport com.pulumi.gitlab.PipelineScheduleVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PipelineSchedule(\"example\", PipelineScheduleArgs.builder()\n .project(\"12345\")\n .description(\"Used to schedule builds\")\n .ref(\"master\")\n .cron(\"0 1 * * *\")\n .build());\n\n var examplePipelineScheduleVariable = new PipelineScheduleVariable(\"examplePipelineScheduleVariable\", PipelineScheduleVariableArgs.builder()\n .project(example.project())\n .pipelineScheduleId(example.pipelineScheduleId())\n .key(\"EXAMPLE_KEY\")\n .value(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:PipelineSchedule\n properties:\n project: '12345'\n description: Used to schedule builds\n ref: master\n cron: 0 1 * * *\n examplePipelineScheduleVariable:\n type: gitlab:PipelineScheduleVariable\n name: example\n properties:\n project: ${example.project}\n pipelineScheduleId: ${example.pipelineScheduleId}\n key: EXAMPLE_KEY\n value: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPipeline schedule variables can be imported using an id made up of `project_id:pipeline_schedule_id:key`, e.g.\n\n```sh\n$ pulumi import gitlab:index/pipelineScheduleVariable:PipelineScheduleVariable example 123456789:13:mykey\n```\n\n", "properties": { "key": { "type": "string", @@ -13175,13 +13322,18 @@ "value": { "type": "string", "description": "Value of the variable.\n" + }, + "variableType": { + "type": "string", + "description": "The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`.\n" } }, "required": [ "key", "pipelineScheduleId", "project", - "value" + "value", + "variableType" ], "inputProperties": { "key": { @@ -13202,6 +13354,10 @@ "value": { "type": "string", "description": "Value of the variable.\n" + }, + "variableType": { + "type": "string", + "description": "The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`.\n" } }, "requiredInputs": [ @@ -13231,13 +13387,17 @@ "value": { "type": "string", "description": "Value of the variable.\n" + }, + "variableType": { + "type": "string", + "description": "The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`.\n" } }, "type": "object" } }, "gitlab:index/pipelineTrigger:PipelineTrigger": { - "description": "The `gitlab.PipelineTrigger` resource allows to manage the lifecycle of a pipeline trigger.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/pipeline_triggers.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.PipelineTrigger(\"example\", {\n project: \"12345\",\n description: \"Used to trigger builds\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.PipelineTrigger(\"example\",\n project=\"12345\",\n description=\"Used to trigger builds\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.PipelineTrigger(\"example\", new()\n {\n Project = \"12345\",\n Description = \"Used to trigger builds\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewPipelineTrigger(ctx, \"example\", \u0026gitlab.PipelineTriggerArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Used to trigger builds\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.PipelineTrigger;\nimport com.pulumi.gitlab.PipelineTriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PipelineTrigger(\"example\", PipelineTriggerArgs.builder()\n .project(\"12345\")\n .description(\"Used to trigger builds\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:PipelineTrigger\n properties:\n project: '12345'\n description: Used to trigger builds\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab pipeline triggers can be imported using an id made up of `{project_id}:{pipeline_trigger_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/pipelineTrigger:PipelineTrigger test 1:3\n```\n\n", + "description": "The `gitlab.PipelineTrigger` resource allows to manage the lifecycle of a pipeline trigger.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/pipeline_triggers.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.PipelineTrigger(\"example\", {\n project: \"12345\",\n description: \"Used to trigger builds\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.PipelineTrigger(\"example\",\n project=\"12345\",\n description=\"Used to trigger builds\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.PipelineTrigger(\"example\", new()\n {\n Project = \"12345\",\n Description = \"Used to trigger builds\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewPipelineTrigger(ctx, \"example\", \u0026gitlab.PipelineTriggerArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tDescription: pulumi.String(\"Used to trigger builds\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.PipelineTrigger;\nimport com.pulumi.gitlab.PipelineTriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new PipelineTrigger(\"example\", PipelineTriggerArgs.builder()\n .project(\"12345\")\n .description(\"Used to trigger builds\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:PipelineTrigger\n properties:\n project: '12345'\n description: Used to trigger builds\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab pipeline triggers can be imported using an id made up of `{project_id}:{pipeline_trigger_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/pipelineTrigger:PipelineTrigger test 1:3\n```\n\n", "properties": { "description": { "type": "string", @@ -13253,7 +13413,7 @@ }, "token": { "type": "string", - "description": "The pipeline trigger token.\n", + "description": "The pipeline trigger token. This value is not available during import.\n", "secret": true } }, @@ -13270,7 +13430,8 @@ }, "project": { "type": "string", - "description": "The name or id of the project to add the trigger to.\n" + "description": "The name or id of the project to add the trigger to.\n", + "willReplaceOnChanges": true } }, "requiredInputs": [ @@ -13290,11 +13451,12 @@ }, "project": { "type": "string", - "description": "The name or id of the project to add the trigger to.\n" + "description": "The name or id of the project to add the trigger to.\n", + "willReplaceOnChanges": true }, "token": { "type": "string", - "description": "The pipeline trigger token.\n", + "description": "The pipeline trigger token. This value is not available during import.\n", "secret": true } }, @@ -13410,11 +13572,6 @@ "type": "string", "description": "A description of the project.\n" }, - "emailsDisabled": { - "type": "boolean", - "description": "Disable email notifications.\n", - "deprecationMessage": "use `emails_enabled` instead." - }, "emailsEnabled": { "type": "boolean", "description": "Enable email notifications.\n" @@ -13738,7 +13895,6 @@ "containerRegistryAccessLevel", "containerRegistryEnabled", "defaultBranch", - "emailsDisabled", "emailsEnabled", "emptyRepo", "environmentsAccessLevel", @@ -13895,11 +14051,6 @@ "type": "string", "description": "A description of the project.\n" }, - "emailsDisabled": { - "type": "boolean", - "description": "Disable email notifications.\n", - "deprecationMessage": "use `emails_enabled` instead." - }, "emailsEnabled": { "type": "boolean", "description": "Enable email notifications.\n" @@ -14289,11 +14440,6 @@ "type": "string", "description": "A description of the project.\n" }, - "emailsDisabled": { - "type": "boolean", - "description": "Disable email notifications.\n", - "deprecationMessage": "use `emails_enabled` instead." - }, "emailsEnabled": { "type": "boolean", "description": "Enable email notifications.\n" @@ -14603,11 +14749,11 @@ } }, "gitlab:index/projectAccessToken:ProjectAccessToken": { - "description": "The `gitlab.ProjectAccessToken` resource allows to manage the lifecycle of a project access token.\n\n\u003e Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/ee/operations/tracing.html)\n\n\u003e Use `rotation_configuration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `pulumi up` must still be run to rotate the token.\n\n\u003e Due to [Automatic reuse detection](https://docs.gitlab.com/ee/api/project_access_tokens.html#automatic-reuse-detection) it's possible that a new Project Access Token will immediately be revoked. Check if an old process using the old token is running if this happens.\n\n**Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/project_access_tokens.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.ProjectAccessToken(\"example\", {\n project: \"25\",\n name: \"Example project access token\",\n expiresAt: \"2020-03-14\",\n accessLevel: \"reporter\",\n scopes: [\"api\"],\n});\nconst exampleProjectVariable = new gitlab.ProjectVariable(\"example\", {\n project: exampleGitlabProject.id,\n key: \"pat\",\n value: example.token,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.ProjectAccessToken(\"example\",\n project=\"25\",\n name=\"Example project access token\",\n expires_at=\"2020-03-14\",\n access_level=\"reporter\",\n scopes=[\"api\"])\nexample_project_variable = gitlab.ProjectVariable(\"example\",\n project=example_gitlab_project[\"id\"],\n key=\"pat\",\n value=example.token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.ProjectAccessToken(\"example\", new()\n {\n Project = \"25\",\n Name = \"Example project access token\",\n ExpiresAt = \"2020-03-14\",\n AccessLevel = \"reporter\",\n Scopes = new[]\n {\n \"api\",\n },\n });\n\n var exampleProjectVariable = new GitLab.ProjectVariable(\"example\", new()\n {\n Project = exampleGitlabProject.Id,\n Key = \"pat\",\n Value = example.Token,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewProjectAccessToken(ctx, \"example\", \u0026gitlab.ProjectAccessTokenArgs{\n\t\t\tProject: pulumi.String(\"25\"),\n\t\t\tName: pulumi.String(\"Example project access token\"),\n\t\t\tExpiresAt: pulumi.String(\"2020-03-14\"),\n\t\t\tAccessLevel: pulumi.String(\"reporter\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectVariable(ctx, \"example\", \u0026gitlab.ProjectVariableArgs{\n\t\t\tProject: pulumi.Any(exampleGitlabProject.Id),\n\t\t\tKey: pulumi.String(\"pat\"),\n\t\t\tValue: example.Token,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectAccessToken;\nimport com.pulumi.gitlab.ProjectAccessTokenArgs;\nimport com.pulumi.gitlab.ProjectVariable;\nimport com.pulumi.gitlab.ProjectVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ProjectAccessToken(\"example\", ProjectAccessTokenArgs.builder()\n .project(\"25\")\n .name(\"Example project access token\")\n .expiresAt(\"2020-03-14\")\n .accessLevel(\"reporter\")\n .scopes(\"api\")\n .build());\n\n var exampleProjectVariable = new ProjectVariable(\"exampleProjectVariable\", ProjectVariableArgs.builder()\n .project(exampleGitlabProject.id())\n .key(\"pat\")\n .value(example.token())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:ProjectAccessToken\n properties:\n project: '25'\n name: Example project access token\n expiresAt: 2020-03-14\n accessLevel: reporter\n scopes:\n - api\n exampleProjectVariable:\n type: gitlab:ProjectVariable\n name: example\n properties:\n project: ${exampleGitlabProject.id}\n key: pat\n value: ${example.token}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA GitLab Project Access Token can be imported using a key composed of `\u003cproject-id\u003e:\u003ctoken-id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectAccessToken:ProjectAccessToken example \"12345:1\"\n```\n\nNOTE: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", + "description": "The `gitlab.ProjectAccessToken` resource allows to manage the lifecycle of a project access token.\n\n\u003e Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/ee/operations/tracing.html)\n\n\u003e Use `rotation_configuration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `pulumi up` must still be run to rotate the token.\n\n\u003e Due to [Automatic reuse detection](https://docs.gitlab.com/ee/api/project_access_tokens.html#automatic-reuse-detection) it's possible that a new Project Access Token will immediately be revoked. Check if an old process using the old token is running if this happens.\n\n**Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/project_access_tokens.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.ProjectAccessToken(\"example\", {\n project: \"25\",\n name: \"Example project access token\",\n expiresAt: \"2020-03-14\",\n accessLevel: \"reporter\",\n scopes: [\"api\"],\n});\nconst exampleProjectVariable = new gitlab.ProjectVariable(\"example\", {\n project: exampleGitlabProject.id,\n key: \"pat\",\n value: example.token,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.ProjectAccessToken(\"example\",\n project=\"25\",\n name=\"Example project access token\",\n expires_at=\"2020-03-14\",\n access_level=\"reporter\",\n scopes=[\"api\"])\nexample_project_variable = gitlab.ProjectVariable(\"example\",\n project=example_gitlab_project[\"id\"],\n key=\"pat\",\n value=example.token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.ProjectAccessToken(\"example\", new()\n {\n Project = \"25\",\n Name = \"Example project access token\",\n ExpiresAt = \"2020-03-14\",\n AccessLevel = \"reporter\",\n Scopes = new[]\n {\n \"api\",\n },\n });\n\n var exampleProjectVariable = new GitLab.ProjectVariable(\"example\", new()\n {\n Project = exampleGitlabProject.Id,\n Key = \"pat\",\n Value = example.Token,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.NewProjectAccessToken(ctx, \"example\", \u0026gitlab.ProjectAccessTokenArgs{\n\t\t\tProject: pulumi.String(\"25\"),\n\t\t\tName: pulumi.String(\"Example project access token\"),\n\t\t\tExpiresAt: pulumi.String(\"2020-03-14\"),\n\t\t\tAccessLevel: pulumi.String(\"reporter\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectVariable(ctx, \"example\", \u0026gitlab.ProjectVariableArgs{\n\t\t\tProject: pulumi.Any(exampleGitlabProject.Id),\n\t\t\tKey: pulumi.String(\"pat\"),\n\t\t\tValue: example.Token,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectAccessToken;\nimport com.pulumi.gitlab.ProjectAccessTokenArgs;\nimport com.pulumi.gitlab.ProjectVariable;\nimport com.pulumi.gitlab.ProjectVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ProjectAccessToken(\"example\", ProjectAccessTokenArgs.builder()\n .project(\"25\")\n .name(\"Example project access token\")\n .expiresAt(\"2020-03-14\")\n .accessLevel(\"reporter\")\n .scopes(\"api\")\n .build());\n\n var exampleProjectVariable = new ProjectVariable(\"exampleProjectVariable\", ProjectVariableArgs.builder()\n .project(exampleGitlabProject.id())\n .key(\"pat\")\n .value(example.token())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:ProjectAccessToken\n properties:\n project: '25'\n name: Example project access token\n expiresAt: 2020-03-14\n accessLevel: reporter\n scopes:\n - api\n exampleProjectVariable:\n type: gitlab:ProjectVariable\n name: example\n properties:\n project: ${exampleGitlabProject.id}\n key: pat\n value: ${example.token}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA GitLab Project Access Token can be imported using a key composed of `\u003cproject-id\u003e:\u003ctoken-id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectAccessToken:ProjectAccessToken example \"12345:1\"\n```\n\nNOTE: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", "properties": { "accessLevel": { "type": "string", - "description": "The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`.\n" + "description": "The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`.\n" }, "active": { "type": "boolean", @@ -14669,7 +14815,7 @@ "inputProperties": { "accessLevel": { "type": "string", - "description": "The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`.\n" + "description": "The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`.\n" }, "expiresAt": { "type": "string", @@ -14704,7 +14850,7 @@ "properties": { "accessLevel": { "type": "string", - "description": "The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`.\n" + "description": "The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`.\n" }, "active": { "type": "boolean", @@ -14917,7 +15063,7 @@ } }, "gitlab:index/projectBadge:ProjectBadge": { - "description": "The `gitlab.ProjectBadge` resource allows to manage the lifecycle of project badges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/user/project/badges.html#project-badges)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Project(\"foo\", {name: \"foo-project\"});\nconst example = new gitlab.ProjectBadge(\"example\", {\n project: foo.id,\n linkUrl: \"https://example.com/badge-123\",\n imageUrl: \"https://example.com/badge-123.svg\",\n name: \"badge-123\",\n});\n// Pipeline status badges with placeholders will be enabled\nconst gitlabPipeline = new gitlab.ProjectBadge(\"gitlab_pipeline\", {\n project: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\",\n name: \"badge-pipeline\",\n});\n// Test coverage report badges with placeholders will be enabled\nconst gitlabCoverage = new gitlab.ProjectBadge(\"gitlab_coverage\", {\n project: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/jobs\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\",\n name: \"badge-coverage\",\n});\n// Latest release badges with placeholders will be enabled\nconst gitlabRelease = new gitlab.ProjectBadge(\"gitlab_release\", {\n project: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/releases\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/-/badges/release.svg\",\n name: \"badge-release\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Project(\"foo\", name=\"foo-project\")\nexample = gitlab.ProjectBadge(\"example\",\n project=foo.id,\n link_url=\"https://example.com/badge-123\",\n image_url=\"https://example.com/badge-123.svg\",\n name=\"badge-123\")\n# Pipeline status badges with placeholders will be enabled\ngitlab_pipeline = gitlab.ProjectBadge(\"gitlab_pipeline\",\n project=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n image_url=\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\",\n name=\"badge-pipeline\")\n# Test coverage report badges with placeholders will be enabled\ngitlab_coverage = gitlab.ProjectBadge(\"gitlab_coverage\",\n project=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/jobs\",\n image_url=\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\",\n name=\"badge-coverage\")\n# Latest release badges with placeholders will be enabled\ngitlab_release = gitlab.ProjectBadge(\"gitlab_release\",\n project=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/releases\",\n image_url=\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\",\n name=\"badge-release\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Project(\"foo\", new()\n {\n Name = \"foo-project\",\n });\n\n var example = new GitLab.ProjectBadge(\"example\", new()\n {\n Project = foo.Id,\n LinkUrl = \"https://example.com/badge-123\",\n ImageUrl = \"https://example.com/badge-123.svg\",\n Name = \"badge-123\",\n });\n\n // Pipeline status badges with placeholders will be enabled\n var gitlabPipeline = new GitLab.ProjectBadge(\"gitlab_pipeline\", new()\n {\n Project = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\",\n Name = \"badge-pipeline\",\n });\n\n // Test coverage report badges with placeholders will be enabled\n var gitlabCoverage = new GitLab.ProjectBadge(\"gitlab_coverage\", new()\n {\n Project = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/jobs\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\",\n Name = \"badge-coverage\",\n });\n\n // Latest release badges with placeholders will be enabled\n var gitlabRelease = new GitLab.ProjectBadge(\"gitlab_release\", new()\n {\n Project = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/releases\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/-/badges/release.svg\",\n Name = \"badge-release\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewProject(ctx, \"foo\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo-project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectBadge(ctx, \"example\", \u0026gitlab.ProjectBadgeArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://example.com/badge-123\"),\n\t\t\tImageUrl: pulumi.String(\"https://example.com/badge-123.svg\"),\n\t\t\tName: pulumi.String(\"badge-123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Pipeline status badges with placeholders will be enabled\n\t\t_, err = gitlab.NewProjectBadge(ctx, \"gitlab_pipeline\", \u0026gitlab.ProjectBadgeArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\"),\n\t\t\tName: pulumi.String(\"badge-pipeline\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Test coverage report badges with placeholders will be enabled\n\t\t_, err = gitlab.NewProjectBadge(ctx, \"gitlab_coverage\", \u0026gitlab.ProjectBadgeArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/jobs\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\"),\n\t\t\tName: pulumi.String(\"badge-coverage\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Latest release badges with placeholders will be enabled\n\t\t_, err = gitlab.NewProjectBadge(ctx, \"gitlab_release\", \u0026gitlab.ProjectBadgeArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/releases\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\"),\n\t\t\tName: pulumi.String(\"badge-release\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectBadge;\nimport com.pulumi.gitlab.ProjectBadgeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo-project\")\n .build());\n\n var example = new ProjectBadge(\"example\", ProjectBadgeArgs.builder()\n .project(foo.id())\n .linkUrl(\"https://example.com/badge-123\")\n .imageUrl(\"https://example.com/badge-123.svg\")\n .name(\"badge-123\")\n .build());\n\n // Pipeline status badges with placeholders will be enabled\n var gitlabPipeline = new ProjectBadge(\"gitlabPipeline\", ProjectBadgeArgs.builder()\n .project(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\")\n .name(\"badge-pipeline\")\n .build());\n\n // Test coverage report badges with placeholders will be enabled\n var gitlabCoverage = new ProjectBadge(\"gitlabCoverage\", ProjectBadgeArgs.builder()\n .project(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/jobs\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\")\n .name(\"badge-coverage\")\n .build());\n\n // Latest release badges with placeholders will be enabled\n var gitlabRelease = new ProjectBadge(\"gitlabRelease\", ProjectBadgeArgs.builder()\n .project(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/releases\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\")\n .name(\"badge-release\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Project\n properties:\n name: foo-project\n example:\n type: gitlab:ProjectBadge\n properties:\n project: ${foo.id}\n linkUrl: https://example.com/badge-123\n imageUrl: https://example.com/badge-123.svg\n name: badge-123\n # Pipeline status badges with placeholders will be enabled\n gitlabPipeline:\n type: gitlab:ProjectBadge\n name: gitlab_pipeline\n properties:\n project: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\n imageUrl: https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\n name: badge-pipeline\n # Test coverage report badges with placeholders will be enabled\n gitlabCoverage:\n type: gitlab:ProjectBadge\n name: gitlab_coverage\n properties:\n project: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/jobs\n imageUrl: https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\n name: badge-coverage\n # Latest release badges with placeholders will be enabled\n gitlabRelease:\n type: gitlab:ProjectBadge\n name: gitlab_release\n properties:\n project: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/releases\n imageUrl: https://gitlab.example.com/%{project_path}/-/badges/release.svg\n name: badge-release\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project badges can be imported using an id made up of `{project_id}:{badge_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectBadge:ProjectBadge foo 1:3\n```\n\n", + "description": "The `gitlab.ProjectBadge` resource allows to manage the lifecycle of project badges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/user/project/badges.html#project-badges)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Project(\"foo\", {name: \"foo-project\"});\nconst example = new gitlab.ProjectBadge(\"example\", {\n project: foo.id,\n linkUrl: \"https://example.com/badge-123\",\n imageUrl: \"https://example.com/badge-123.svg\",\n name: \"badge-123\",\n});\n// Pipeline status badges with placeholders will be enabled\nconst gitlabPipeline = new gitlab.ProjectBadge(\"gitlab_pipeline\", {\n project: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\",\n name: \"badge-pipeline\",\n});\n// Test coverage report badges with placeholders will be enabled\nconst gitlabCoverage = new gitlab.ProjectBadge(\"gitlab_coverage\", {\n project: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/jobs\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\",\n name: \"badge-coverage\",\n});\n// Latest release badges with placeholders will be enabled\nconst gitlabRelease = new gitlab.ProjectBadge(\"gitlab_release\", {\n project: foo.id,\n linkUrl: \"https://gitlab.example.com/%{project_path}/-/releases\",\n imageUrl: \"https://gitlab.example.com/%{project_path}/-/badges/release.svg\",\n name: \"badge-release\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Project(\"foo\", name=\"foo-project\")\nexample = gitlab.ProjectBadge(\"example\",\n project=foo.id,\n link_url=\"https://example.com/badge-123\",\n image_url=\"https://example.com/badge-123.svg\",\n name=\"badge-123\")\n# Pipeline status badges with placeholders will be enabled\ngitlab_pipeline = gitlab.ProjectBadge(\"gitlab_pipeline\",\n project=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n image_url=\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\",\n name=\"badge-pipeline\")\n# Test coverage report badges with placeholders will be enabled\ngitlab_coverage = gitlab.ProjectBadge(\"gitlab_coverage\",\n project=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/jobs\",\n image_url=\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\",\n name=\"badge-coverage\")\n# Latest release badges with placeholders will be enabled\ngitlab_release = gitlab.ProjectBadge(\"gitlab_release\",\n project=foo.id,\n link_url=\"https://gitlab.example.com/%{project_path}/-/releases\",\n image_url=\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\",\n name=\"badge-release\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Project(\"foo\", new()\n {\n Name = \"foo-project\",\n });\n\n var example = new GitLab.ProjectBadge(\"example\", new()\n {\n Project = foo.Id,\n LinkUrl = \"https://example.com/badge-123\",\n ImageUrl = \"https://example.com/badge-123.svg\",\n Name = \"badge-123\",\n });\n\n // Pipeline status badges with placeholders will be enabled\n var gitlabPipeline = new GitLab.ProjectBadge(\"gitlab_pipeline\", new()\n {\n Project = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\",\n Name = \"badge-pipeline\",\n });\n\n // Test coverage report badges with placeholders will be enabled\n var gitlabCoverage = new GitLab.ProjectBadge(\"gitlab_coverage\", new()\n {\n Project = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/jobs\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\",\n Name = \"badge-coverage\",\n });\n\n // Latest release badges with placeholders will be enabled\n var gitlabRelease = new GitLab.ProjectBadge(\"gitlab_release\", new()\n {\n Project = foo.Id,\n LinkUrl = \"https://gitlab.example.com/%{project_path}/-/releases\",\n ImageUrl = \"https://gitlab.example.com/%{project_path}/-/badges/release.svg\",\n Name = \"badge-release\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewProject(ctx, \"foo\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo-project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectBadge(ctx, \"example\", \u0026gitlab.ProjectBadgeArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://example.com/badge-123\"),\n\t\t\tImageUrl: pulumi.String(\"https://example.com/badge-123.svg\"),\n\t\t\tName: pulumi.String(\"badge-123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Pipeline status badges with placeholders will be enabled\n\t\t_, err = gitlab.NewProjectBadge(ctx, \"gitlab_pipeline\", \u0026gitlab.ProjectBadgeArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\"),\n\t\t\tName: pulumi.String(\"badge-pipeline\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Test coverage report badges with placeholders will be enabled\n\t\t_, err = gitlab.NewProjectBadge(ctx, \"gitlab_coverage\", \u0026gitlab.ProjectBadgeArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/jobs\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\"),\n\t\t\tName: pulumi.String(\"badge-coverage\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Latest release badges with placeholders will be enabled\n\t\t_, err = gitlab.NewProjectBadge(ctx, \"gitlab_release\", \u0026gitlab.ProjectBadgeArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tLinkUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/releases\"),\n\t\t\tImageUrl: pulumi.String(\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\"),\n\t\t\tName: pulumi.String(\"badge-release\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectBadge;\nimport com.pulumi.gitlab.ProjectBadgeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo-project\")\n .build());\n\n var example = new ProjectBadge(\"example\", ProjectBadgeArgs.builder()\n .project(foo.id())\n .linkUrl(\"https://example.com/badge-123\")\n .imageUrl(\"https://example.com/badge-123.svg\")\n .name(\"badge-123\")\n .build());\n\n // Pipeline status badges with placeholders will be enabled\n var gitlabPipeline = new ProjectBadge(\"gitlabPipeline\", ProjectBadgeArgs.builder()\n .project(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\")\n .name(\"badge-pipeline\")\n .build());\n\n // Test coverage report badges with placeholders will be enabled\n var gitlabCoverage = new ProjectBadge(\"gitlabCoverage\", ProjectBadgeArgs.builder()\n .project(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/jobs\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\")\n .name(\"badge-coverage\")\n .build());\n\n // Latest release badges with placeholders will be enabled\n var gitlabRelease = new ProjectBadge(\"gitlabRelease\", ProjectBadgeArgs.builder()\n .project(foo.id())\n .linkUrl(\"https://gitlab.example.com/%{project_path}/-/releases\")\n .imageUrl(\"https://gitlab.example.com/%{project_path}/-/badges/release.svg\")\n .name(\"badge-release\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Project\n properties:\n name: foo-project\n example:\n type: gitlab:ProjectBadge\n properties:\n project: ${foo.id}\n linkUrl: https://example.com/badge-123\n imageUrl: https://example.com/badge-123.svg\n name: badge-123\n # Pipeline status badges with placeholders will be enabled\n gitlabPipeline:\n type: gitlab:ProjectBadge\n name: gitlab_pipeline\n properties:\n project: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/pipelines?ref=%{default_branch}\n imageUrl: https://gitlab.example.com/%{project_path}/badges/%{default_branch}/pipeline.svg\n name: badge-pipeline\n # Test coverage report badges with placeholders will be enabled\n gitlabCoverage:\n type: gitlab:ProjectBadge\n name: gitlab_coverage\n properties:\n project: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/jobs\n imageUrl: https://gitlab.example.com/%{project_path}/badges/%{default_branch}/coverage.svg\n name: badge-coverage\n # Latest release badges with placeholders will be enabled\n gitlabRelease:\n type: gitlab:ProjectBadge\n name: gitlab_release\n properties:\n project: ${foo.id}\n linkUrl: https://gitlab.example.com/%{project_path}/-/releases\n imageUrl: https://gitlab.example.com/%{project_path}/-/badges/release.svg\n name: badge-release\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project badges can be imported using an id made up of `{project_id}:{badge_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectBadge:ProjectBadge foo 1:3\n```\n\n", "properties": { "imageUrl": { "type": "string", @@ -15007,7 +15153,7 @@ } }, "gitlab:index/projectCluster:ProjectCluster": { - "description": "The `gitlab.ProjectCluster` resource allows to manage the lifecycle of a project cluster.\n\n\u003e This is deprecated GitLab feature since 14.5\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_clusters.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Project(\"foo\", {name: \"foo-project\"});\nconst bar = new gitlab.ProjectCluster(\"bar\", {\n project: foo.id,\n name: \"bar-cluster\",\n domain: \"example.com\",\n enabled: true,\n kubernetesApiUrl: \"https://124.124.124\",\n kubernetesToken: \"some-token\",\n kubernetesCaCert: \"some-cert\",\n kubernetesNamespace: \"namespace\",\n kubernetesAuthorizationType: \"rbac\",\n environmentScope: \"*\",\n managementProjectId: \"123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Project(\"foo\", name=\"foo-project\")\nbar = gitlab.ProjectCluster(\"bar\",\n project=foo.id,\n name=\"bar-cluster\",\n domain=\"example.com\",\n enabled=True,\n kubernetes_api_url=\"https://124.124.124\",\n kubernetes_token=\"some-token\",\n kubernetes_ca_cert=\"some-cert\",\n kubernetes_namespace=\"namespace\",\n kubernetes_authorization_type=\"rbac\",\n environment_scope=\"*\",\n management_project_id=\"123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Project(\"foo\", new()\n {\n Name = \"foo-project\",\n });\n\n var bar = new GitLab.ProjectCluster(\"bar\", new()\n {\n Project = foo.Id,\n Name = \"bar-cluster\",\n Domain = \"example.com\",\n Enabled = true,\n KubernetesApiUrl = \"https://124.124.124\",\n KubernetesToken = \"some-token\",\n KubernetesCaCert = \"some-cert\",\n KubernetesNamespace = \"namespace\",\n KubernetesAuthorizationType = \"rbac\",\n EnvironmentScope = \"*\",\n ManagementProjectId = \"123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewProject(ctx, \"foo\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo-project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectCluster(ctx, \"bar\", \u0026gitlab.ProjectClusterArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tName: pulumi.String(\"bar-cluster\"),\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tKubernetesApiUrl: pulumi.String(\"https://124.124.124\"),\n\t\t\tKubernetesToken: pulumi.String(\"some-token\"),\n\t\t\tKubernetesCaCert: pulumi.String(\"some-cert\"),\n\t\t\tKubernetesNamespace: pulumi.String(\"namespace\"),\n\t\t\tKubernetesAuthorizationType: pulumi.String(\"rbac\"),\n\t\t\tEnvironmentScope: pulumi.String(\"*\"),\n\t\t\tManagementProjectId: pulumi.String(\"123456\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectCluster;\nimport com.pulumi.gitlab.ProjectClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo-project\")\n .build());\n\n var bar = new ProjectCluster(\"bar\", ProjectClusterArgs.builder()\n .project(foo.id())\n .name(\"bar-cluster\")\n .domain(\"example.com\")\n .enabled(true)\n .kubernetesApiUrl(\"https://124.124.124\")\n .kubernetesToken(\"some-token\")\n .kubernetesCaCert(\"some-cert\")\n .kubernetesNamespace(\"namespace\")\n .kubernetesAuthorizationType(\"rbac\")\n .environmentScope(\"*\")\n .managementProjectId(\"123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Project\n properties:\n name: foo-project\n bar:\n type: gitlab:ProjectCluster\n properties:\n project: ${foo.id}\n name: bar-cluster\n domain: example.com\n enabled: true\n kubernetesApiUrl: https://124.124.124\n kubernetesToken: some-token\n kubernetesCaCert: some-cert\n kubernetesNamespace: namespace\n kubernetesAuthorizationType: rbac\n environmentScope: '*'\n managementProjectId: '123456'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project clusters can be imported using an id made up of `projectid:clusterid`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectCluster:ProjectCluster bar 123:321\n```\n\n", + "description": "The `gitlab.ProjectCluster` resource allows to manage the lifecycle of a project cluster.\n\n\u003e This is deprecated GitLab feature since 14.5\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_clusters.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Project(\"foo\", {name: \"foo-project\"});\nconst bar = new gitlab.ProjectCluster(\"bar\", {\n project: foo.id,\n name: \"bar-cluster\",\n domain: \"example.com\",\n enabled: true,\n kubernetesApiUrl: \"https://124.124.124\",\n kubernetesToken: \"some-token\",\n kubernetesCaCert: \"some-cert\",\n kubernetesNamespace: \"namespace\",\n kubernetesAuthorizationType: \"rbac\",\n environmentScope: \"*\",\n managementProjectId: \"123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Project(\"foo\", name=\"foo-project\")\nbar = gitlab.ProjectCluster(\"bar\",\n project=foo.id,\n name=\"bar-cluster\",\n domain=\"example.com\",\n enabled=True,\n kubernetes_api_url=\"https://124.124.124\",\n kubernetes_token=\"some-token\",\n kubernetes_ca_cert=\"some-cert\",\n kubernetes_namespace=\"namespace\",\n kubernetes_authorization_type=\"rbac\",\n environment_scope=\"*\",\n management_project_id=\"123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Project(\"foo\", new()\n {\n Name = \"foo-project\",\n });\n\n var bar = new GitLab.ProjectCluster(\"bar\", new()\n {\n Project = foo.Id,\n Name = \"bar-cluster\",\n Domain = \"example.com\",\n Enabled = true,\n KubernetesApiUrl = \"https://124.124.124\",\n KubernetesToken = \"some-token\",\n KubernetesCaCert = \"some-cert\",\n KubernetesNamespace = \"namespace\",\n KubernetesAuthorizationType = \"rbac\",\n EnvironmentScope = \"*\",\n ManagementProjectId = \"123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewProject(ctx, \"foo\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo-project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectCluster(ctx, \"bar\", \u0026gitlab.ProjectClusterArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tName: pulumi.String(\"bar-cluster\"),\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tKubernetesApiUrl: pulumi.String(\"https://124.124.124\"),\n\t\t\tKubernetesToken: pulumi.String(\"some-token\"),\n\t\t\tKubernetesCaCert: pulumi.String(\"some-cert\"),\n\t\t\tKubernetesNamespace: pulumi.String(\"namespace\"),\n\t\t\tKubernetesAuthorizationType: pulumi.String(\"rbac\"),\n\t\t\tEnvironmentScope: pulumi.String(\"*\"),\n\t\t\tManagementProjectId: pulumi.String(\"123456\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectCluster;\nimport com.pulumi.gitlab.ProjectClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo-project\")\n .build());\n\n var bar = new ProjectCluster(\"bar\", ProjectClusterArgs.builder()\n .project(foo.id())\n .name(\"bar-cluster\")\n .domain(\"example.com\")\n .enabled(true)\n .kubernetesApiUrl(\"https://124.124.124\")\n .kubernetesToken(\"some-token\")\n .kubernetesCaCert(\"some-cert\")\n .kubernetesNamespace(\"namespace\")\n .kubernetesAuthorizationType(\"rbac\")\n .environmentScope(\"*\")\n .managementProjectId(\"123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Project\n properties:\n name: foo-project\n bar:\n type: gitlab:ProjectCluster\n properties:\n project: ${foo.id}\n name: bar-cluster\n domain: example.com\n enabled: true\n kubernetesApiUrl: https://124.124.124\n kubernetesToken: some-token\n kubernetesCaCert: some-cert\n kubernetesNamespace: namespace\n kubernetesAuthorizationType: rbac\n environmentScope: '*'\n managementProjectId: '123456'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project clusters can be imported using an id made up of `projectid:clusterid`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectCluster:ProjectCluster bar 123:321\n```\n\n", "properties": { "clusterType": { "type": "string", @@ -15222,7 +15368,7 @@ } }, "gitlab:index/projectComplianceFramework:ProjectComplianceFramework": { - "description": "The `gitlab.ProjectComplianceFramework` resource allows to manage the lifecycle of a compliance framework on a project.\n\n\u003e This resource requires a GitLab Enterprise instance with a Premium license to set the compliance framework on a project.\n\n**Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/ee/api/graphql/reference/#mutationprojectsetcomplianceframework)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst sample = new gitlab.ComplianceFramework(\"sample\", {\n namespacePath: \"top-level-group\",\n name: \"HIPAA\",\n description: \"A HIPAA Compliance Framework\",\n color: \"#87BEEF\",\n \"default\": false,\n pipelineConfigurationFullPath: \".hipaa.yml@top-level-group/compliance-frameworks\",\n});\nconst sampleProjectComplianceFramework = new gitlab.ProjectComplianceFramework(\"sample\", {\n complianceFrameworkId: sample.frameworkId,\n project: \"12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nsample = gitlab.ComplianceFramework(\"sample\",\n namespace_path=\"top-level-group\",\n name=\"HIPAA\",\n description=\"A HIPAA Compliance Framework\",\n color=\"#87BEEF\",\n default=False,\n pipeline_configuration_full_path=\".hipaa.yml@top-level-group/compliance-frameworks\")\nsample_project_compliance_framework = gitlab.ProjectComplianceFramework(\"sample\",\n compliance_framework_id=sample.framework_id,\n project=\"12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new GitLab.ComplianceFramework(\"sample\", new()\n {\n NamespacePath = \"top-level-group\",\n Name = \"HIPAA\",\n Description = \"A HIPAA Compliance Framework\",\n Color = \"#87BEEF\",\n Default = false,\n PipelineConfigurationFullPath = \".hipaa.yml@top-level-group/compliance-frameworks\",\n });\n\n var sampleProjectComplianceFramework = new GitLab.ProjectComplianceFramework(\"sample\", new()\n {\n ComplianceFrameworkId = sample.FrameworkId,\n Project = \"12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsample, err := gitlab.NewComplianceFramework(ctx, \"sample\", \u0026gitlab.ComplianceFrameworkArgs{\n\t\t\tNamespacePath: pulumi.String(\"top-level-group\"),\n\t\t\tName: pulumi.String(\"HIPAA\"),\n\t\t\tDescription: pulumi.String(\"A HIPAA Compliance Framework\"),\n\t\t\tColor: pulumi.String(\"#87BEEF\"),\n\t\t\tDefault: pulumi.Bool(false),\n\t\t\tPipelineConfigurationFullPath: pulumi.String(\".hipaa.yml@top-level-group/compliance-frameworks\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectComplianceFramework(ctx, \"sample\", \u0026gitlab.ProjectComplianceFrameworkArgs{\n\t\t\tComplianceFrameworkId: sample.FrameworkId,\n\t\t\tProject: pulumi.String(\"12345678\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ComplianceFramework;\nimport com.pulumi.gitlab.ComplianceFrameworkArgs;\nimport com.pulumi.gitlab.ProjectComplianceFramework;\nimport com.pulumi.gitlab.ProjectComplianceFrameworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new ComplianceFramework(\"sample\", ComplianceFrameworkArgs.builder()\n .namespacePath(\"top-level-group\")\n .name(\"HIPAA\")\n .description(\"A HIPAA Compliance Framework\")\n .color(\"#87BEEF\")\n .default_(false)\n .pipelineConfigurationFullPath(\".hipaa.yml@top-level-group/compliance-frameworks\")\n .build());\n\n var sampleProjectComplianceFramework = new ProjectComplianceFramework(\"sampleProjectComplianceFramework\", ProjectComplianceFrameworkArgs.builder()\n .complianceFrameworkId(sample.frameworkId())\n .project(\"12345678\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: gitlab:ComplianceFramework\n properties:\n namespacePath: top-level-group\n name: HIPAA\n description: A HIPAA Compliance Framework\n color: '#87BEEF'\n default: false\n pipelineConfigurationFullPath: .hipaa.yml@top-level-group/compliance-frameworks\n sampleProjectComplianceFramework:\n type: gitlab:ProjectComplianceFramework\n name: sample\n properties:\n complianceFrameworkId: ${sample.frameworkId}\n project: '12345678'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab project compliance frameworks can be imported with a key composed of `\u003cproject_id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectComplianceFramework:ProjectComplianceFramework sample \"42\"\n```\n\n", + "description": "The `gitlab.ProjectComplianceFramework` resource allows to manage the lifecycle of a compliance framework on a project.\n\n\u003e This resource requires a GitLab Enterprise instance with a Premium license to set the compliance framework on a project.\n\n**Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/ee/api/graphql/reference/#mutationprojectsetcomplianceframework)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst sample = new gitlab.ComplianceFramework(\"sample\", {\n namespacePath: \"top-level-group\",\n name: \"HIPAA\",\n description: \"A HIPAA Compliance Framework\",\n color: \"#87BEEF\",\n \"default\": false,\n pipelineConfigurationFullPath: \".hipaa.yml@top-level-group/compliance-frameworks\",\n});\nconst sampleProjectComplianceFramework = new gitlab.ProjectComplianceFramework(\"sample\", {\n complianceFrameworkId: sample.frameworkId,\n project: \"12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nsample = gitlab.ComplianceFramework(\"sample\",\n namespace_path=\"top-level-group\",\n name=\"HIPAA\",\n description=\"A HIPAA Compliance Framework\",\n color=\"#87BEEF\",\n default=False,\n pipeline_configuration_full_path=\".hipaa.yml@top-level-group/compliance-frameworks\")\nsample_project_compliance_framework = gitlab.ProjectComplianceFramework(\"sample\",\n compliance_framework_id=sample.framework_id,\n project=\"12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new GitLab.ComplianceFramework(\"sample\", new()\n {\n NamespacePath = \"top-level-group\",\n Name = \"HIPAA\",\n Description = \"A HIPAA Compliance Framework\",\n Color = \"#87BEEF\",\n Default = false,\n PipelineConfigurationFullPath = \".hipaa.yml@top-level-group/compliance-frameworks\",\n });\n\n var sampleProjectComplianceFramework = new GitLab.ProjectComplianceFramework(\"sample\", new()\n {\n ComplianceFrameworkId = sample.FrameworkId,\n Project = \"12345678\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsample, err := gitlab.NewComplianceFramework(ctx, \"sample\", \u0026gitlab.ComplianceFrameworkArgs{\n\t\t\tNamespacePath: pulumi.String(\"top-level-group\"),\n\t\t\tName: pulumi.String(\"HIPAA\"),\n\t\t\tDescription: pulumi.String(\"A HIPAA Compliance Framework\"),\n\t\t\tColor: pulumi.String(\"#87BEEF\"),\n\t\t\tDefault: pulumi.Bool(false),\n\t\t\tPipelineConfigurationFullPath: pulumi.String(\".hipaa.yml@top-level-group/compliance-frameworks\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectComplianceFramework(ctx, \"sample\", \u0026gitlab.ProjectComplianceFrameworkArgs{\n\t\t\tComplianceFrameworkId: sample.FrameworkId,\n\t\t\tProject: pulumi.String(\"12345678\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ComplianceFramework;\nimport com.pulumi.gitlab.ComplianceFrameworkArgs;\nimport com.pulumi.gitlab.ProjectComplianceFramework;\nimport com.pulumi.gitlab.ProjectComplianceFrameworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new ComplianceFramework(\"sample\", ComplianceFrameworkArgs.builder()\n .namespacePath(\"top-level-group\")\n .name(\"HIPAA\")\n .description(\"A HIPAA Compliance Framework\")\n .color(\"#87BEEF\")\n .default_(false)\n .pipelineConfigurationFullPath(\".hipaa.yml@top-level-group/compliance-frameworks\")\n .build());\n\n var sampleProjectComplianceFramework = new ProjectComplianceFramework(\"sampleProjectComplianceFramework\", ProjectComplianceFrameworkArgs.builder()\n .complianceFrameworkId(sample.frameworkId())\n .project(\"12345678\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: gitlab:ComplianceFramework\n properties:\n namespacePath: top-level-group\n name: HIPAA\n description: A HIPAA Compliance Framework\n color: '#87BEEF'\n default: false\n pipelineConfigurationFullPath: .hipaa.yml@top-level-group/compliance-frameworks\n sampleProjectComplianceFramework:\n type: gitlab:ProjectComplianceFramework\n name: sample\n properties:\n complianceFrameworkId: ${sample.frameworkId}\n project: '12345678'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab project compliance frameworks can be imported with a key composed of `\u003cproject_id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectComplianceFramework:ProjectComplianceFramework sample \"42\"\n```\n\n", "properties": { "complianceFrameworkId": { "type": "string", @@ -15267,7 +15413,7 @@ } }, "gitlab:index/projectCustomAttribute:ProjectCustomAttribute": { - "description": "The `gitlab.ProjectCustomAttribute` resource allows to manage custom attributes for a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/custom_attributes.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst attr = new gitlab.ProjectCustomAttribute(\"attr\", {\n project: 42,\n key: \"location\",\n value: \"Greenland\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nattr = gitlab.ProjectCustomAttribute(\"attr\",\n project=42,\n key=\"location\",\n value=\"Greenland\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var attr = new GitLab.ProjectCustomAttribute(\"attr\", new()\n {\n Project = 42,\n Key = \"location\",\n Value = \"Greenland\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectCustomAttribute(ctx, \"attr\", \u0026gitlab.ProjectCustomAttributeArgs{\n\t\t\tProject: pulumi.Int(42),\n\t\t\tKey: pulumi.String(\"location\"),\n\t\t\tValue: pulumi.String(\"Greenland\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectCustomAttribute;\nimport com.pulumi.gitlab.ProjectCustomAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var attr = new ProjectCustomAttribute(\"attr\", ProjectCustomAttributeArgs.builder()\n .project(\"42\")\n .key(\"location\")\n .value(\"Greenland\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n attr:\n type: gitlab:ProjectCustomAttribute\n properties:\n project: '42'\n key: location\n value: Greenland\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a project custom attribute using an id made up of `{project-id}:{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectCustomAttribute:ProjectCustomAttribute attr 42:location\n```\n\n", + "description": "The `gitlab.ProjectCustomAttribute` resource allows to manage custom attributes for a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/custom_attributes.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst attr = new gitlab.ProjectCustomAttribute(\"attr\", {\n project: 42,\n key: \"location\",\n value: \"Greenland\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nattr = gitlab.ProjectCustomAttribute(\"attr\",\n project=42,\n key=\"location\",\n value=\"Greenland\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var attr = new GitLab.ProjectCustomAttribute(\"attr\", new()\n {\n Project = 42,\n Key = \"location\",\n Value = \"Greenland\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectCustomAttribute(ctx, \"attr\", \u0026gitlab.ProjectCustomAttributeArgs{\n\t\t\tProject: pulumi.Int(42),\n\t\t\tKey: pulumi.String(\"location\"),\n\t\t\tValue: pulumi.String(\"Greenland\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectCustomAttribute;\nimport com.pulumi.gitlab.ProjectCustomAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var attr = new ProjectCustomAttribute(\"attr\", ProjectCustomAttributeArgs.builder()\n .project(\"42\")\n .key(\"location\")\n .value(\"Greenland\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n attr:\n type: gitlab:ProjectCustomAttribute\n properties:\n project: '42'\n key: location\n value: Greenland\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a project custom attribute using an id made up of `{project-id}:{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectCustomAttribute:ProjectCustomAttribute attr 42:location\n```\n\n", "properties": { "key": { "type": "string", @@ -15326,7 +15472,7 @@ } }, "gitlab:index/projectEnvironment:ProjectEnvironment": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst _this = new gitlab.Group(\"this\", {\n name: \"example\",\n path: \"example\",\n description: \"An example group\",\n});\nconst thisProject = new gitlab.Project(\"this\", {\n name: \"example\",\n namespaceId: _this.id,\n initializeWithReadme: true,\n});\nconst thisProjectEnvironment = new gitlab.ProjectEnvironment(\"this\", {\n project: thisProject.id,\n name: \"example\",\n externalUrl: \"www.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nthis = gitlab.Group(\"this\",\n name=\"example\",\n path=\"example\",\n description=\"An example group\")\nthis_project = gitlab.Project(\"this\",\n name=\"example\",\n namespace_id=this.id,\n initialize_with_readme=True)\nthis_project_environment = gitlab.ProjectEnvironment(\"this\",\n project=this_project.id,\n name=\"example\",\n external_url=\"www.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new GitLab.Group(\"this\", new()\n {\n Name = \"example\",\n Path = \"example\",\n Description = \"An example group\",\n });\n\n var thisProject = new GitLab.Project(\"this\", new()\n {\n Name = \"example\",\n NamespaceId = @this.Id,\n InitializeWithReadme = true,\n });\n\n var thisProjectEnvironment = new GitLab.ProjectEnvironment(\"this\", new()\n {\n Project = thisProject.Id,\n Name = \"example\",\n ExternalUrl = \"www.example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := gitlab.NewGroup(ctx, \"this\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisProject, err := gitlab.NewProject(ctx, \"this\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tNamespaceId: this.ID(),\n\t\t\tInitializeWithReadme: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectEnvironment(ctx, \"this\", \u0026gitlab.ProjectEnvironmentArgs{\n\t\t\tProject: thisProject.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tExternalUrl: pulumi.String(\"www.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectEnvironment;\nimport com.pulumi.gitlab.ProjectEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Group(\"this\", GroupArgs.builder()\n .name(\"example\")\n .path(\"example\")\n .description(\"An example group\")\n .build());\n\n var thisProject = new Project(\"thisProject\", ProjectArgs.builder()\n .name(\"example\")\n .namespaceId(this_.id())\n .initializeWithReadme(true)\n .build());\n\n var thisProjectEnvironment = new ProjectEnvironment(\"thisProjectEnvironment\", ProjectEnvironmentArgs.builder()\n .project(thisProject.id())\n .name(\"example\")\n .externalUrl(\"www.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: gitlab:Group\n properties:\n name: example\n path: example\n description: An example group\n thisProject:\n type: gitlab:Project\n name: this\n properties:\n name: example\n namespaceId: ${this.id}\n initializeWithReadme: true\n thisProjectEnvironment:\n type: gitlab:ProjectEnvironment\n name: this\n properties:\n project: ${thisProject.id}\n name: example\n externalUrl: www.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project environments can be imported using an id made up of `projectId:environmenId`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectEnvironment:ProjectEnvironment bar 123:321\n```\n\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst _this = new gitlab.Group(\"this\", {\n name: \"example\",\n path: \"example\",\n description: \"An example group\",\n});\nconst thisProject = new gitlab.Project(\"this\", {\n name: \"example\",\n namespaceId: _this.id,\n initializeWithReadme: true,\n});\nconst thisProjectEnvironment = new gitlab.ProjectEnvironment(\"this\", {\n project: thisProject.id,\n name: \"example\",\n externalUrl: \"www.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nthis = gitlab.Group(\"this\",\n name=\"example\",\n path=\"example\",\n description=\"An example group\")\nthis_project = gitlab.Project(\"this\",\n name=\"example\",\n namespace_id=this.id,\n initialize_with_readme=True)\nthis_project_environment = gitlab.ProjectEnvironment(\"this\",\n project=this_project.id,\n name=\"example\",\n external_url=\"www.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new GitLab.Group(\"this\", new()\n {\n Name = \"example\",\n Path = \"example\",\n Description = \"An example group\",\n });\n\n var thisProject = new GitLab.Project(\"this\", new()\n {\n Name = \"example\",\n NamespaceId = @this.Id,\n InitializeWithReadme = true,\n });\n\n var thisProjectEnvironment = new GitLab.ProjectEnvironment(\"this\", new()\n {\n Project = thisProject.Id,\n Name = \"example\",\n ExternalUrl = \"www.example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := gitlab.NewGroup(ctx, \"this\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisProject, err := gitlab.NewProject(ctx, \"this\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tNamespaceId: this.ID(),\n\t\t\tInitializeWithReadme: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectEnvironment(ctx, \"this\", \u0026gitlab.ProjectEnvironmentArgs{\n\t\t\tProject: thisProject.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tExternalUrl: pulumi.String(\"www.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectEnvironment;\nimport com.pulumi.gitlab.ProjectEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Group(\"this\", GroupArgs.builder()\n .name(\"example\")\n .path(\"example\")\n .description(\"An example group\")\n .build());\n\n var thisProject = new Project(\"thisProject\", ProjectArgs.builder()\n .name(\"example\")\n .namespaceId(this_.id())\n .initializeWithReadme(true)\n .build());\n\n var thisProjectEnvironment = new ProjectEnvironment(\"thisProjectEnvironment\", ProjectEnvironmentArgs.builder()\n .project(thisProject.id())\n .name(\"example\")\n .externalUrl(\"www.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: gitlab:Group\n properties:\n name: example\n path: example\n description: An example group\n thisProject:\n type: gitlab:Project\n name: this\n properties:\n name: example\n namespaceId: ${this.id}\n initializeWithReadme: true\n thisProjectEnvironment:\n type: gitlab:ProjectEnvironment\n name: this\n properties:\n project: ${thisProject.id}\n name: example\n externalUrl: www.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project environments can be imported using an id made up of `projectId:environmenId`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectEnvironment:ProjectEnvironment bar 123:321\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -15434,7 +15580,7 @@ } }, "gitlab:index/projectFreezePeriod:ProjectFreezePeriod": { - "description": "The `gitlab.ProjectFreezePeriod` resource allows to manage the lifecycle of a freeze period for a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/freeze_periods.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst schedule = new gitlab.ProjectFreezePeriod(\"schedule\", {\n project: foo.id,\n freezeStart: \"0 23 * * 5\",\n freezeEnd: \"0 7 * * 1\",\n cronTimezone: \"UTC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nschedule = gitlab.ProjectFreezePeriod(\"schedule\",\n project=foo[\"id\"],\n freeze_start=\"0 23 * * 5\",\n freeze_end=\"0 7 * * 1\",\n cron_timezone=\"UTC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var schedule = new GitLab.ProjectFreezePeriod(\"schedule\", new()\n {\n Project = foo.Id,\n FreezeStart = \"0 23 * * 5\",\n FreezeEnd = \"0 7 * * 1\",\n CronTimezone = \"UTC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectFreezePeriod(ctx, \"schedule\", \u0026gitlab.ProjectFreezePeriodArgs{\n\t\t\tProject: pulumi.Any(foo.Id),\n\t\t\tFreezeStart: pulumi.String(\"0 23 * * 5\"),\n\t\t\tFreezeEnd: pulumi.String(\"0 7 * * 1\"),\n\t\t\tCronTimezone: pulumi.String(\"UTC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectFreezePeriod;\nimport com.pulumi.gitlab.ProjectFreezePeriodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var schedule = new ProjectFreezePeriod(\"schedule\", ProjectFreezePeriodArgs.builder()\n .project(foo.id())\n .freezeStart(\"0 23 * * 5\")\n .freezeEnd(\"0 7 * * 1\")\n .cronTimezone(\"UTC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n schedule:\n type: gitlab:ProjectFreezePeriod\n properties:\n project: ${foo.id}\n freezeStart: 0 23 * * 5\n freezeEnd: 0 7 * * 1\n cronTimezone: UTC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project freeze periods can be imported using an id made up of `project_id:freeze_period_id`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectFreezePeriod:ProjectFreezePeriod schedule \"12345:1337\"\n```\n\n", + "description": "The `gitlab.ProjectFreezePeriod` resource allows to manage the lifecycle of a freeze period for a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/freeze_periods.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst schedule = new gitlab.ProjectFreezePeriod(\"schedule\", {\n project: foo.id,\n freezeStart: \"0 23 * * 5\",\n freezeEnd: \"0 7 * * 1\",\n cronTimezone: \"UTC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nschedule = gitlab.ProjectFreezePeriod(\"schedule\",\n project=foo[\"id\"],\n freeze_start=\"0 23 * * 5\",\n freeze_end=\"0 7 * * 1\",\n cron_timezone=\"UTC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var schedule = new GitLab.ProjectFreezePeriod(\"schedule\", new()\n {\n Project = foo.Id,\n FreezeStart = \"0 23 * * 5\",\n FreezeEnd = \"0 7 * * 1\",\n CronTimezone = \"UTC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectFreezePeriod(ctx, \"schedule\", \u0026gitlab.ProjectFreezePeriodArgs{\n\t\t\tProject: pulumi.Any(foo.Id),\n\t\t\tFreezeStart: pulumi.String(\"0 23 * * 5\"),\n\t\t\tFreezeEnd: pulumi.String(\"0 7 * * 1\"),\n\t\t\tCronTimezone: pulumi.String(\"UTC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectFreezePeriod;\nimport com.pulumi.gitlab.ProjectFreezePeriodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var schedule = new ProjectFreezePeriod(\"schedule\", ProjectFreezePeriodArgs.builder()\n .project(foo.id())\n .freezeStart(\"0 23 * * 5\")\n .freezeEnd(\"0 7 * * 1\")\n .cronTimezone(\"UTC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n schedule:\n type: gitlab:ProjectFreezePeriod\n properties:\n project: ${foo.id}\n freezeStart: 0 23 * * 5\n freezeEnd: 0 7 * * 1\n cronTimezone: UTC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project freeze periods can be imported using an id made up of `project_id:freeze_period_id`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectFreezePeriod:ProjectFreezePeriod schedule \"12345:1337\"\n```\n\n", "properties": { "cronTimezone": { "type": "string", @@ -15507,7 +15653,7 @@ } }, "gitlab:index/projectHook:ProjectHook": { - "description": "The `gitlab.ProjectHook` resource allows to manage the lifecycle of a project hook.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/projects.html#hooks)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.ProjectHook(\"example\", {\n project: \"example/hooked\",\n url: \"https://example.com/hook/example\",\n mergeRequestsEvents: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.ProjectHook(\"example\",\n project=\"example/hooked\",\n url=\"https://example.com/hook/example\",\n merge_requests_events=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.ProjectHook(\"example\", new()\n {\n Project = \"example/hooked\",\n Url = \"https://example.com/hook/example\",\n MergeRequestsEvents = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectHook(ctx, \"example\", \u0026gitlab.ProjectHookArgs{\n\t\t\tProject: pulumi.String(\"example/hooked\"),\n\t\t\tUrl: pulumi.String(\"https://example.com/hook/example\"),\n\t\t\tMergeRequestsEvents: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectHook;\nimport com.pulumi.gitlab.ProjectHookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ProjectHook(\"example\", ProjectHookArgs.builder()\n .project(\"example/hooked\")\n .url(\"https://example.com/hook/example\")\n .mergeRequestsEvents(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:ProjectHook\n properties:\n project: example/hooked\n url: https://example.com/hook/example\n mergeRequestsEvents: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA GitLab Project Hook can be imported using a key composed of `\u003cproject-id\u003e:\u003chook-id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectHook:ProjectHook example \"12345:1\"\n```\n\nNOTE: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", + "description": "The `gitlab.ProjectHook` resource allows to manage the lifecycle of a project hook.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/projects.html#hooks)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.ProjectHook(\"example\", {\n project: \"example/hooked\",\n url: \"https://example.com/hook/example\",\n mergeRequestsEvents: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.ProjectHook(\"example\",\n project=\"example/hooked\",\n url=\"https://example.com/hook/example\",\n merge_requests_events=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.ProjectHook(\"example\", new()\n {\n Project = \"example/hooked\",\n Url = \"https://example.com/hook/example\",\n MergeRequestsEvents = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectHook(ctx, \"example\", \u0026gitlab.ProjectHookArgs{\n\t\t\tProject: pulumi.String(\"example/hooked\"),\n\t\t\tUrl: pulumi.String(\"https://example.com/hook/example\"),\n\t\t\tMergeRequestsEvents: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectHook;\nimport com.pulumi.gitlab.ProjectHookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ProjectHook(\"example\", ProjectHookArgs.builder()\n .project(\"example/hooked\")\n .url(\"https://example.com/hook/example\")\n .mergeRequestsEvents(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:ProjectHook\n properties:\n project: example/hooked\n url: https://example.com/hook/example\n mergeRequestsEvents: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA GitLab Project Hook can be imported using a key composed of `\u003cproject-id\u003e:\u003chook-id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectHook:ProjectHook example \"12345:1\"\n```\n\nNOTE: the `token` resource attribute is not available for imported resources as this information cannot be read from the GitLab API.\n\n", "properties": { "confidentialIssuesEvents": { "type": "boolean", @@ -15769,7 +15915,7 @@ } }, "gitlab:index/projectIssue:ProjectIssue": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Project(\"foo\", {\n name: \"example project\",\n description: \"Lorem Ipsum\",\n visibilityLevel: \"public\",\n});\nconst welcomeIssue = new gitlab.ProjectIssue(\"welcome_issue\", {\n project: foo.id,\n title: \"Welcome!\",\n description: pulumi.interpolate` Welcome to the ${foo.name} project!\n\n`,\n discussionLocked: true,\n});\nexport const welcomeIssueWebUrl = webUrl;\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Project(\"foo\",\n name=\"example project\",\n description=\"Lorem Ipsum\",\n visibility_level=\"public\")\nwelcome_issue = gitlab.ProjectIssue(\"welcome_issue\",\n project=foo.id,\n title=\"Welcome!\",\n description=foo.name.apply(lambda name: f\"\"\" Welcome to the {name} project!\n\n\"\"\"),\n discussion_locked=True)\npulumi.export(\"welcomeIssueWebUrl\", web_url)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Project(\"foo\", new()\n {\n Name = \"example project\",\n Description = \"Lorem Ipsum\",\n VisibilityLevel = \"public\",\n });\n\n var welcomeIssue = new GitLab.ProjectIssue(\"welcome_issue\", new()\n {\n Project = foo.Id,\n Title = \"Welcome!\",\n Description = foo.Name.Apply(name =\u003e @$\" Welcome to the {name} project!\n\n\"),\n DiscussionLocked = true,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"welcomeIssueWebUrl\"] = webUrl,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewProject(ctx, \"foo\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example project\"),\n\t\t\tDescription: pulumi.String(\"Lorem Ipsum\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectIssue(ctx, \"welcome_issue\", \u0026gitlab.ProjectIssueArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tTitle: pulumi.String(\"Welcome!\"),\n\t\t\tDescription: foo.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\" Welcome to the %v project!\\n\\n\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tDiscussionLocked: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"welcomeIssueWebUrl\", webUrl)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectIssue;\nimport com.pulumi.gitlab.ProjectIssueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"example project\")\n .description(\"Lorem Ipsum\")\n .visibilityLevel(\"public\")\n .build());\n\n var welcomeIssue = new ProjectIssue(\"welcomeIssue\", ProjectIssueArgs.builder()\n .project(foo.id())\n .title(\"Welcome!\")\n .description(foo.name().applyValue(name -\u003e \"\"\"\n Welcome to the %s project!\n\n\", name)))\n .discussionLocked(true)\n .build());\n\n ctx.export(\"welcomeIssueWebUrl\", webUrl);\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Project\n properties:\n name: example project\n description: Lorem Ipsum\n visibilityLevel: public\n welcomeIssue:\n type: gitlab:ProjectIssue\n name: welcome_issue\n properties:\n project: ${foo.id}\n title: Welcome!\n description: |2+\n Welcome to the ${foo.name} project!\n\n discussionLocked: true\noutputs:\n welcomeIssueWebUrl: ${webUrl}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import this resource with an id made up of `{project-id}:{issue-id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectIssue:ProjectIssue welcome_issue 42:1\n```\n\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Project(\"foo\", {\n name: \"example project\",\n description: \"Lorem Ipsum\",\n visibilityLevel: \"public\",\n});\nconst welcomeIssue = new gitlab.ProjectIssue(\"welcome_issue\", {\n project: foo.id,\n title: \"Welcome!\",\n description: pulumi.interpolate` Welcome to the ${foo.name} project!\n\n`,\n discussionLocked: true,\n});\nexport const welcomeIssueWebUrl = webUrl;\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Project(\"foo\",\n name=\"example project\",\n description=\"Lorem Ipsum\",\n visibility_level=\"public\")\nwelcome_issue = gitlab.ProjectIssue(\"welcome_issue\",\n project=foo.id,\n title=\"Welcome!\",\n description=foo.name.apply(lambda name: f\"\"\" Welcome to the {name} project!\n\n\"\"\"),\n discussion_locked=True)\npulumi.export(\"welcomeIssueWebUrl\", web_url)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Project(\"foo\", new()\n {\n Name = \"example project\",\n Description = \"Lorem Ipsum\",\n VisibilityLevel = \"public\",\n });\n\n var welcomeIssue = new GitLab.ProjectIssue(\"welcome_issue\", new()\n {\n Project = foo.Id,\n Title = \"Welcome!\",\n Description = foo.Name.Apply(name =\u003e @$\" Welcome to the {name} project!\n\n\"),\n DiscussionLocked = true,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"welcomeIssueWebUrl\"] = webUrl,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewProject(ctx, \"foo\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example project\"),\n\t\t\tDescription: pulumi.String(\"Lorem Ipsum\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectIssue(ctx, \"welcome_issue\", \u0026gitlab.ProjectIssueArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tTitle: pulumi.String(\"Welcome!\"),\n\t\t\tDescription: foo.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\" Welcome to the %v project!\\n\\n\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tDiscussionLocked: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"welcomeIssueWebUrl\", webUrl)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectIssue;\nimport com.pulumi.gitlab.ProjectIssueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"example project\")\n .description(\"Lorem Ipsum\")\n .visibilityLevel(\"public\")\n .build());\n\n var welcomeIssue = new ProjectIssue(\"welcomeIssue\", ProjectIssueArgs.builder()\n .project(foo.id())\n .title(\"Welcome!\")\n .description(foo.name().applyValue(name -\u003e \"\"\"\n Welcome to the %s project!\n\n\", name)))\n .discussionLocked(true)\n .build());\n\n ctx.export(\"welcomeIssueWebUrl\", webUrl);\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Project\n properties:\n name: example project\n description: Lorem Ipsum\n visibilityLevel: public\n welcomeIssue:\n type: gitlab:ProjectIssue\n name: welcome_issue\n properties:\n project: ${foo.id}\n title: Welcome!\n description: |2+\n Welcome to the ${foo.name} project!\n\n discussionLocked: true\noutputs:\n welcomeIssueWebUrl: ${webUrl}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import this resource with an id made up of `{project-id}:{issue-id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectIssue:ProjectIssue welcome_issue 42:1\n```\n\n", "properties": { "assigneeIds": { "type": "array", @@ -16378,7 +16524,7 @@ } }, "gitlab:index/projectJobTokenScope:ProjectJobTokenScope": { - "description": "The `gitlab.ProjectJobTokenScope` resource allows to manage the CI/CD Job Token scope in a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html)\n\n## Import\n\nGitLab project environments can be imported using an id made up of `projectId:targetProjectId`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:321\n```\n\n", + "description": "The `gitlab.ProjectJobTokenScope` resource allows to manage the CI/CD Job Token scope in a project.\nAny projects added to the CI/CD Job Token scope outside of TF will be untouched by the resource.\n\n\u003e Conflicts with the use of `gitlab.ProjectJobTokenScopes` when used on the same project. Use one or the other to ensure the desired state.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html)\n\n## Import\n\nGitLab project job token scopes can be imported using an id made up of `projectId:targetProjectId`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:321\n```\n\n", "properties": { "project": { "type": "string", @@ -16422,8 +16568,62 @@ "type": "object" } }, + "gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes": { + "description": "The `gitlab.ProjectJobTokenScopes` resource allows to manage the CI/CD Job Token scopes in a project.\nAny project not within the defined set in this attribute will be removed, which allows this resource to be used as an explicit deny.\n\n\u003e Conflicts with the use of `gitlab.ProjectJobTokenScope` when used on the same project. Use one or the other to ensure the desired state.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n allowedSingleProject:\n type: gitlab:ProjectJobTokenScopes\n name: allowed_single_project\n properties:\n project: gitlab-org/gitlab\n targetProjectIds:\n - 123\n allowedMultipleProject:\n type: gitlab:ProjectJobTokenScopes\n name: allowed_multiple_project\n properties:\n project: gitlab-org/gitlab\n targetProjectIds:\n - 123\n - 456\n - 789\n # This will remove all job token scopes, even if added outside of TF.\n explicitDeny:\n type: gitlab:ProjectJobTokenScopes\n name: explicit_deny\n properties:\n project: gitlab-org/gitlab\n targetProjectIds: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project job token scopes can be imported using an id made up of just the `project_id` as an integer\n\n```sh\n$ pulumi import gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes bar 123\n```\n\n", + "properties": { + "projectId": { + "type": "integer", + "description": "The ID of the project.\n" + }, + "targetProjectIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "A set of project IDs that are in the CI/CD job token inbound allowlist.\n" + } + }, + "required": [ + "projectId", + "targetProjectIds" + ], + "inputProperties": { + "projectId": { + "type": "integer", + "description": "The ID of the project.\n" + }, + "targetProjectIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "A set of project IDs that are in the CI/CD job token inbound allowlist.\n" + } + }, + "requiredInputs": [ + "projectId", + "targetProjectIds" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ProjectJobTokenScopes resources.\n", + "properties": { + "projectId": { + "type": "integer", + "description": "The ID of the project.\n" + }, + "targetProjectIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "A set of project IDs that are in the CI/CD job token inbound allowlist.\n" + } + }, + "type": "object" + } + }, "gitlab:index/projectLabel:ProjectLabel": { - "description": "The `gitlab.ProjectLabel` resource allows to manage the lifecycle of a project label.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/labels.html#project-labels)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst fixme = new gitlab.ProjectLabel(\"fixme\", {\n project: \"example\",\n name: \"fixme\",\n description: \"issue with failing tests\",\n color: \"#ffcc00\",\n});\n// Scoped label\nconst devopsCreate = new gitlab.ProjectLabel(\"devops_create\", {\n project: example.id,\n name: \"devops::create\",\n description: \"issue for creating infrastructure resources\",\n color: \"#ffa500\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfixme = gitlab.ProjectLabel(\"fixme\",\n project=\"example\",\n name=\"fixme\",\n description=\"issue with failing tests\",\n color=\"#ffcc00\")\n# Scoped label\ndevops_create = gitlab.ProjectLabel(\"devops_create\",\n project=example[\"id\"],\n name=\"devops::create\",\n description=\"issue for creating infrastructure resources\",\n color=\"#ffa500\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fixme = new GitLab.ProjectLabel(\"fixme\", new()\n {\n Project = \"example\",\n Name = \"fixme\",\n Description = \"issue with failing tests\",\n Color = \"#ffcc00\",\n });\n\n // Scoped label\n var devopsCreate = new GitLab.ProjectLabel(\"devops_create\", new()\n {\n Project = example.Id,\n Name = \"devops::create\",\n Description = \"issue for creating infrastructure resources\",\n Color = \"#ffa500\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectLabel(ctx, \"fixme\", \u0026gitlab.ProjectLabelArgs{\n\t\t\tProject: pulumi.String(\"example\"),\n\t\t\tName: pulumi.String(\"fixme\"),\n\t\t\tDescription: pulumi.String(\"issue with failing tests\"),\n\t\t\tColor: pulumi.String(\"#ffcc00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Scoped label\n\t\t_, err = gitlab.NewProjectLabel(ctx, \"devops_create\", \u0026gitlab.ProjectLabelArgs{\n\t\t\tProject: pulumi.Any(example.Id),\n\t\t\tName: pulumi.String(\"devops::create\"),\n\t\t\tDescription: pulumi.String(\"issue for creating infrastructure resources\"),\n\t\t\tColor: pulumi.String(\"#ffa500\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectLabel;\nimport com.pulumi.gitlab.ProjectLabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fixme = new ProjectLabel(\"fixme\", ProjectLabelArgs.builder()\n .project(\"example\")\n .name(\"fixme\")\n .description(\"issue with failing tests\")\n .color(\"#ffcc00\")\n .build());\n\n // Scoped label\n var devopsCreate = new ProjectLabel(\"devopsCreate\", ProjectLabelArgs.builder()\n .project(example.id())\n .name(\"devops::create\")\n .description(\"issue for creating infrastructure resources\")\n .color(\"#ffa500\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fixme:\n type: gitlab:ProjectLabel\n properties:\n project: example\n name: fixme\n description: issue with failing tests\n color: '#ffcc00'\n # Scoped label\n devopsCreate:\n type: gitlab:ProjectLabel\n name: devops_create\n properties:\n project: ${example.id}\n name: devops::create\n description: issue for creating infrastructure resources\n color: '#ffa500'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab Project labels can be imported using an id made up of `{project_id}:{group_label_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectLabel:ProjectLabel example 12345:fixme\n```\n\n", + "description": "The `gitlab.ProjectLabel` resource allows to manage the lifecycle of a project label.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/labels.html#project-labels)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst fixme = new gitlab.ProjectLabel(\"fixme\", {\n project: \"example\",\n name: \"fixme\",\n description: \"issue with failing tests\",\n color: \"#ffcc00\",\n});\n// Scoped label\nconst devopsCreate = new gitlab.ProjectLabel(\"devops_create\", {\n project: example.id,\n name: \"devops::create\",\n description: \"issue for creating infrastructure resources\",\n color: \"#ffa500\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfixme = gitlab.ProjectLabel(\"fixme\",\n project=\"example\",\n name=\"fixme\",\n description=\"issue with failing tests\",\n color=\"#ffcc00\")\n# Scoped label\ndevops_create = gitlab.ProjectLabel(\"devops_create\",\n project=example[\"id\"],\n name=\"devops::create\",\n description=\"issue for creating infrastructure resources\",\n color=\"#ffa500\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fixme = new GitLab.ProjectLabel(\"fixme\", new()\n {\n Project = \"example\",\n Name = \"fixme\",\n Description = \"issue with failing tests\",\n Color = \"#ffcc00\",\n });\n\n // Scoped label\n var devopsCreate = new GitLab.ProjectLabel(\"devops_create\", new()\n {\n Project = example.Id,\n Name = \"devops::create\",\n Description = \"issue for creating infrastructure resources\",\n Color = \"#ffa500\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectLabel(ctx, \"fixme\", \u0026gitlab.ProjectLabelArgs{\n\t\t\tProject: pulumi.String(\"example\"),\n\t\t\tName: pulumi.String(\"fixme\"),\n\t\t\tDescription: pulumi.String(\"issue with failing tests\"),\n\t\t\tColor: pulumi.String(\"#ffcc00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Scoped label\n\t\t_, err = gitlab.NewProjectLabel(ctx, \"devops_create\", \u0026gitlab.ProjectLabelArgs{\n\t\t\tProject: pulumi.Any(example.Id),\n\t\t\tName: pulumi.String(\"devops::create\"),\n\t\t\tDescription: pulumi.String(\"issue for creating infrastructure resources\"),\n\t\t\tColor: pulumi.String(\"#ffa500\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectLabel;\nimport com.pulumi.gitlab.ProjectLabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fixme = new ProjectLabel(\"fixme\", ProjectLabelArgs.builder()\n .project(\"example\")\n .name(\"fixme\")\n .description(\"issue with failing tests\")\n .color(\"#ffcc00\")\n .build());\n\n // Scoped label\n var devopsCreate = new ProjectLabel(\"devopsCreate\", ProjectLabelArgs.builder()\n .project(example.id())\n .name(\"devops::create\")\n .description(\"issue for creating infrastructure resources\")\n .color(\"#ffa500\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fixme:\n type: gitlab:ProjectLabel\n properties:\n project: example\n name: fixme\n description: issue with failing tests\n color: '#ffcc00'\n # Scoped label\n devopsCreate:\n type: gitlab:ProjectLabel\n name: devops_create\n properties:\n project: ${example.id}\n name: devops::create\n description: issue for creating infrastructure resources\n color: '#ffa500'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab Project labels can be imported using an id made up of `{project_id}:{group_label_id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectLabel:ProjectLabel example 12345:fixme\n```\n\n", "properties": { "color": { "type": "string", @@ -16504,7 +16704,7 @@ } }, "gitlab:index/projectLevelMrApprovals:ProjectLevelMrApprovals": { - "description": "The `gitlab_project_level_mr_approval_rule` resource allows to manage the lifecycle of a Merge Request-level approval rule.\n\n\u003e This resource requires a GitLab Enterprise instance.\n\t\t\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/merge_request_approvals.html#merge-request-level-mr-approvals)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Project(\"foo\", {\n name: \"Example\",\n description: \"My example project\",\n});\nconst fooProjectLevelMrApprovals = new gitlab.ProjectLevelMrApprovals(\"foo\", {\n project: foo.id,\n resetApprovalsOnPush: true,\n disableOverridingApproversPerMergeRequest: false,\n mergeRequestsAuthorApproval: false,\n mergeRequestsDisableCommittersApproval: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Project(\"foo\",\n name=\"Example\",\n description=\"My example project\")\nfoo_project_level_mr_approvals = gitlab.ProjectLevelMrApprovals(\"foo\",\n project=foo.id,\n reset_approvals_on_push=True,\n disable_overriding_approvers_per_merge_request=False,\n merge_requests_author_approval=False,\n merge_requests_disable_committers_approval=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Project(\"foo\", new()\n {\n Name = \"Example\",\n Description = \"My example project\",\n });\n\n var fooProjectLevelMrApprovals = new GitLab.ProjectLevelMrApprovals(\"foo\", new()\n {\n Project = foo.Id,\n ResetApprovalsOnPush = true,\n DisableOverridingApproversPerMergeRequest = false,\n MergeRequestsAuthorApproval = false,\n MergeRequestsDisableCommittersApproval = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewProject(ctx, \"foo\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"My example project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectLevelMrApprovals(ctx, \"foo\", \u0026gitlab.ProjectLevelMrApprovalsArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tResetApprovalsOnPush: pulumi.Bool(true),\n\t\t\tDisableOverridingApproversPerMergeRequest: pulumi.Bool(false),\n\t\t\tMergeRequestsAuthorApproval: pulumi.Bool(false),\n\t\t\tMergeRequestsDisableCommittersApproval: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectLevelMrApprovals;\nimport com.pulumi.gitlab.ProjectLevelMrApprovalsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"Example\")\n .description(\"My example project\")\n .build());\n\n var fooProjectLevelMrApprovals = new ProjectLevelMrApprovals(\"fooProjectLevelMrApprovals\", ProjectLevelMrApprovalsArgs.builder()\n .project(foo.id())\n .resetApprovalsOnPush(true)\n .disableOverridingApproversPerMergeRequest(false)\n .mergeRequestsAuthorApproval(false)\n .mergeRequestsDisableCommittersApproval(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Project\n properties:\n name: Example\n description: My example project\n fooProjectLevelMrApprovals:\n type: gitlab:ProjectLevelMrApprovals\n name: foo\n properties:\n project: ${foo.id}\n resetApprovalsOnPush: true\n disableOverridingApproversPerMergeRequest: false\n mergeRequestsAuthorApproval: false\n mergeRequestsDisableCommittersApproval: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import gitlab:index/projectLevelMrApprovals:ProjectLevelMrApprovals You can import an approval configuration state using `\u003cresource\u003e \u003cproject_id\u003e`.\n```\n\n#\n\nFor example:\n\n```sh\n$ pulumi import gitlab:index/projectLevelMrApprovals:ProjectLevelMrApprovals foo 1234\n```\n\n", + "description": "The `gitlab_project_level_mr_approval_rule` resource allows to manage the lifecycle of a Merge Request-level approval rule.\n\n\u003e This resource requires a GitLab Enterprise instance.\n\t\t\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/merge_request_approvals.html#merge-request-level-mr-approvals)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.Project(\"foo\", {\n name: \"Example\",\n description: \"My example project\",\n});\nconst fooProjectLevelMrApprovals = new gitlab.ProjectLevelMrApprovals(\"foo\", {\n project: foo.id,\n resetApprovalsOnPush: true,\n disableOverridingApproversPerMergeRequest: false,\n mergeRequestsAuthorApproval: false,\n mergeRequestsDisableCommittersApproval: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.Project(\"foo\",\n name=\"Example\",\n description=\"My example project\")\nfoo_project_level_mr_approvals = gitlab.ProjectLevelMrApprovals(\"foo\",\n project=foo.id,\n reset_approvals_on_push=True,\n disable_overriding_approvers_per_merge_request=False,\n merge_requests_author_approval=False,\n merge_requests_disable_committers_approval=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.Project(\"foo\", new()\n {\n Name = \"Example\",\n Description = \"My example project\",\n });\n\n var fooProjectLevelMrApprovals = new GitLab.ProjectLevelMrApprovals(\"foo\", new()\n {\n Project = foo.Id,\n ResetApprovalsOnPush = true,\n DisableOverridingApproversPerMergeRequest = false,\n MergeRequestsAuthorApproval = false,\n MergeRequestsDisableCommittersApproval = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.NewProject(ctx, \"foo\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"My example project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectLevelMrApprovals(ctx, \"foo\", \u0026gitlab.ProjectLevelMrApprovalsArgs{\n\t\t\tProject: foo.ID(),\n\t\t\tResetApprovalsOnPush: pulumi.Bool(true),\n\t\t\tDisableOverridingApproversPerMergeRequest: pulumi.Bool(false),\n\t\t\tMergeRequestsAuthorApproval: pulumi.Bool(false),\n\t\t\tMergeRequestsDisableCommittersApproval: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectLevelMrApprovals;\nimport com.pulumi.gitlab.ProjectLevelMrApprovalsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"Example\")\n .description(\"My example project\")\n .build());\n\n var fooProjectLevelMrApprovals = new ProjectLevelMrApprovals(\"fooProjectLevelMrApprovals\", ProjectLevelMrApprovalsArgs.builder()\n .project(foo.id())\n .resetApprovalsOnPush(true)\n .disableOverridingApproversPerMergeRequest(false)\n .mergeRequestsAuthorApproval(false)\n .mergeRequestsDisableCommittersApproval(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:Project\n properties:\n name: Example\n description: My example project\n fooProjectLevelMrApprovals:\n type: gitlab:ProjectLevelMrApprovals\n name: foo\n properties:\n project: ${foo.id}\n resetApprovalsOnPush: true\n disableOverridingApproversPerMergeRequest: false\n mergeRequestsAuthorApproval: false\n mergeRequestsDisableCommittersApproval: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import gitlab:index/projectLevelMrApprovals:ProjectLevelMrApprovals You can import an approval configuration state using `\u003cresource\u003e \u003cproject_id\u003e`.\n```\n\n#\n\nFor example:\n\n```sh\n$ pulumi import gitlab:index/projectLevelMrApprovals:ProjectLevelMrApprovals foo 1234\n```\n\n", "properties": { "disableOverridingApproversPerMergeRequest": { "type": "boolean", @@ -16878,11 +17078,11 @@ } }, "gitlab:index/projectMembership:ProjectMembership": { - "description": "The `gitlab.ProjectMembership` resource allows to manage the lifecycle of a users project membership.\n\n\u003e If a project should grant membership to an entire group use the `gitlab.ProjectShareGroup` resource instead.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/members.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst test = new gitlab.ProjectMembership(\"test\", {\n project: \"12345\",\n userId: 1337,\n accessLevel: \"guest\",\n});\nconst example = new gitlab.ProjectMembership(\"example\", {\n project: \"67890\",\n userId: 1234,\n accessLevel: \"guest\",\n expiresAt: \"2022-12-31\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntest = gitlab.ProjectMembership(\"test\",\n project=\"12345\",\n user_id=1337,\n access_level=\"guest\")\nexample = gitlab.ProjectMembership(\"example\",\n project=\"67890\",\n user_id=1234,\n access_level=\"guest\",\n expires_at=\"2022-12-31\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new GitLab.ProjectMembership(\"test\", new()\n {\n Project = \"12345\",\n UserId = 1337,\n AccessLevel = \"guest\",\n });\n\n var example = new GitLab.ProjectMembership(\"example\", new()\n {\n Project = \"67890\",\n UserId = 1234,\n AccessLevel = \"guest\",\n ExpiresAt = \"2022-12-31\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectMembership(ctx, \"test\", \u0026gitlab.ProjectMembershipArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tUserId: pulumi.Int(1337),\n\t\t\tAccessLevel: pulumi.String(\"guest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectMembership(ctx, \"example\", \u0026gitlab.ProjectMembershipArgs{\n\t\t\tProject: pulumi.String(\"67890\"),\n\t\t\tUserId: pulumi.Int(1234),\n\t\t\tAccessLevel: pulumi.String(\"guest\"),\n\t\t\tExpiresAt: pulumi.String(\"2022-12-31\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectMembership;\nimport com.pulumi.gitlab.ProjectMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ProjectMembership(\"test\", ProjectMembershipArgs.builder()\n .project(\"12345\")\n .userId(1337)\n .accessLevel(\"guest\")\n .build());\n\n var example = new ProjectMembership(\"example\", ProjectMembershipArgs.builder()\n .project(\"67890\")\n .userId(1234)\n .accessLevel(\"guest\")\n .expiresAt(\"2022-12-31\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: gitlab:ProjectMembership\n properties:\n project: '12345'\n userId: 1337\n accessLevel: guest\n example:\n type: gitlab:ProjectMembership\n properties:\n project: '67890'\n userId: 1234\n accessLevel: guest\n expiresAt: 2022-12-31\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project membership can be imported using an id made up of `project_id:user_id`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectMembership:ProjectMembership test \"12345:1337\"\n```\n\n", + "description": "The `gitlab.ProjectMembership` resource allows to manage the lifecycle of a users project membership.\n\n\u003e If a project should grant membership to an entire group use the `gitlab.ProjectShareGroup` resource instead.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/members.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst test = new gitlab.ProjectMembership(\"test\", {\n project: \"12345\",\n userId: 1337,\n accessLevel: \"guest\",\n});\nconst example = new gitlab.ProjectMembership(\"example\", {\n project: \"67890\",\n userId: 1234,\n accessLevel: \"guest\",\n expiresAt: \"2022-12-31\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntest = gitlab.ProjectMembership(\"test\",\n project=\"12345\",\n user_id=1337,\n access_level=\"guest\")\nexample = gitlab.ProjectMembership(\"example\",\n project=\"67890\",\n user_id=1234,\n access_level=\"guest\",\n expires_at=\"2022-12-31\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new GitLab.ProjectMembership(\"test\", new()\n {\n Project = \"12345\",\n UserId = 1337,\n AccessLevel = \"guest\",\n });\n\n var example = new GitLab.ProjectMembership(\"example\", new()\n {\n Project = \"67890\",\n UserId = 1234,\n AccessLevel = \"guest\",\n ExpiresAt = \"2022-12-31\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectMembership(ctx, \"test\", \u0026gitlab.ProjectMembershipArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tUserId: pulumi.Int(1337),\n\t\t\tAccessLevel: pulumi.String(\"guest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectMembership(ctx, \"example\", \u0026gitlab.ProjectMembershipArgs{\n\t\t\tProject: pulumi.String(\"67890\"),\n\t\t\tUserId: pulumi.Int(1234),\n\t\t\tAccessLevel: pulumi.String(\"guest\"),\n\t\t\tExpiresAt: pulumi.String(\"2022-12-31\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectMembership;\nimport com.pulumi.gitlab.ProjectMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ProjectMembership(\"test\", ProjectMembershipArgs.builder()\n .project(\"12345\")\n .userId(1337)\n .accessLevel(\"guest\")\n .build());\n\n var example = new ProjectMembership(\"example\", ProjectMembershipArgs.builder()\n .project(\"67890\")\n .userId(1234)\n .accessLevel(\"guest\")\n .expiresAt(\"2022-12-31\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: gitlab:ProjectMembership\n properties:\n project: '12345'\n userId: 1337\n accessLevel: guest\n example:\n type: gitlab:ProjectMembership\n properties:\n project: '67890'\n userId: 1234\n accessLevel: guest\n expiresAt: 2022-12-31\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project membership can be imported using an id made up of `project_id:user_id`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectMembership:ProjectMembership test \"12345:1337\"\n```\n\n", "properties": { "accessLevel": { "type": "string", - "description": "The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n" + "description": "The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n" }, "expiresAt": { "type": "string", @@ -16905,7 +17105,7 @@ "inputProperties": { "accessLevel": { "type": "string", - "description": "The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n" + "description": "The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n" }, "expiresAt": { "type": "string", @@ -16932,7 +17132,7 @@ "properties": { "accessLevel": { "type": "string", - "description": "The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n" + "description": "The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n" }, "expiresAt": { "type": "string", @@ -16953,7 +17153,7 @@ } }, "gitlab:index/projectMilestone:ProjectMilestone": { - "description": "The `gitlab.ProjectMilestone` resource allows to manage the lifecycle of a project milestone.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/milestones.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// Create a project for the milestone to use\nconst example = new gitlab.Project(\"example\", {\n name: \"example\",\n description: \"An example project\",\n namespaceId: exampleGitlabGroup.id,\n});\nconst exampleProjectMilestone = new gitlab.ProjectMilestone(\"example\", {\n project: example.id,\n title: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# Create a project for the milestone to use\nexample = gitlab.Project(\"example\",\n name=\"example\",\n description=\"An example project\",\n namespace_id=example_gitlab_group[\"id\"])\nexample_project_milestone = gitlab.ProjectMilestone(\"example\",\n project=example.id,\n title=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a project for the milestone to use\n var example = new GitLab.Project(\"example\", new()\n {\n Name = \"example\",\n Description = \"An example project\",\n NamespaceId = exampleGitlabGroup.Id,\n });\n\n var exampleProjectMilestone = new GitLab.ProjectMilestone(\"example\", new()\n {\n Project = example.Id,\n Title = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a project for the milestone to use\n\t\texample, err := gitlab.NewProject(ctx, \"example\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example project\"),\n\t\t\tNamespaceId: pulumi.Any(exampleGitlabGroup.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectMilestone(ctx, \"example\", \u0026gitlab.ProjectMilestoneArgs{\n\t\t\tProject: example.ID(),\n\t\t\tTitle: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectMilestone;\nimport com.pulumi.gitlab.ProjectMilestoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a project for the milestone to use\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(\"example\")\n .description(\"An example project\")\n .namespaceId(exampleGitlabGroup.id())\n .build());\n\n var exampleProjectMilestone = new ProjectMilestone(\"exampleProjectMilestone\", ProjectMilestoneArgs.builder()\n .project(example.id())\n .title(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a project for the milestone to use\n example:\n type: gitlab:Project\n properties:\n name: example\n description: An example project\n namespaceId: ${exampleGitlabGroup.id}\n exampleProjectMilestone:\n type: gitlab:ProjectMilestone\n name: example\n properties:\n project: ${example.id}\n title: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab project milestone can be imported with a key composed of `\u003cproject\u003e:\u003cmilestone_id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectMilestone:ProjectMilestone example \"12345:11\"\n```\n\n", + "description": "The `gitlab.ProjectMilestone` resource allows to manage the lifecycle of a project milestone.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/milestones.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// Create a project for the milestone to use\nconst example = new gitlab.Project(\"example\", {\n name: \"example\",\n description: \"An example project\",\n namespaceId: exampleGitlabGroup.id,\n});\nconst exampleProjectMilestone = new gitlab.ProjectMilestone(\"example\", {\n project: example.id,\n title: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# Create a project for the milestone to use\nexample = gitlab.Project(\"example\",\n name=\"example\",\n description=\"An example project\",\n namespace_id=example_gitlab_group[\"id\"])\nexample_project_milestone = gitlab.ProjectMilestone(\"example\",\n project=example.id,\n title=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a project for the milestone to use\n var example = new GitLab.Project(\"example\", new()\n {\n Name = \"example\",\n Description = \"An example project\",\n NamespaceId = exampleGitlabGroup.Id,\n });\n\n var exampleProjectMilestone = new GitLab.ProjectMilestone(\"example\", new()\n {\n Project = example.Id,\n Title = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a project for the milestone to use\n\t\texample, err := gitlab.NewProject(ctx, \"example\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example project\"),\n\t\t\tNamespaceId: pulumi.Any(exampleGitlabGroup.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectMilestone(ctx, \"example\", \u0026gitlab.ProjectMilestoneArgs{\n\t\t\tProject: example.ID(),\n\t\t\tTitle: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectMilestone;\nimport com.pulumi.gitlab.ProjectMilestoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a project for the milestone to use\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(\"example\")\n .description(\"An example project\")\n .namespaceId(exampleGitlabGroup.id())\n .build());\n\n var exampleProjectMilestone = new ProjectMilestone(\"exampleProjectMilestone\", ProjectMilestoneArgs.builder()\n .project(example.id())\n .title(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a project for the milestone to use\n example:\n type: gitlab:Project\n properties:\n name: example\n description: An example project\n namespaceId: ${exampleGitlabGroup.id}\n exampleProjectMilestone:\n type: gitlab:ProjectMilestone\n name: example\n properties:\n project: ${example.id}\n title: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab project milestone can be imported with a key composed of `\u003cproject\u003e:\u003cmilestone_id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectMilestone:ProjectMilestone example \"12345:11\"\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -17111,7 +17311,7 @@ } }, "gitlab:index/projectMirror:ProjectMirror": { - "description": "The `gitlab.ProjectMirror` resource allows to manage the lifecycle of a project mirror.\n\nThis is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured using a combination of the\nimport_url, mirror, and mirror_trigger_builds properties on the gitlab.Project resource.\n\n\u003e **Warning** By default, the provider sets the `keep_divergent_refs` argument to `True`.\n If you manually set `keep_divergent_refs` to `False`, GitLab mirroring removes branches in the target that aren't in the source.\n This action can result in unexpected branch deletions.\n\n\u003e **Destroy Behavior** GitLab 14.10 introduced an API endpoint to delete a project mirror.\n Therefore, for GitLab 14.10 and newer the project mirror will be destroyed when the resource is destroyed.\n For older versions, the mirror will be disabled and the resource will be destroyed.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/remote_mirrors.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.ProjectMirror(\"foo\", {\n project: \"1\",\n url: \"https://username:password@github.com/org/repository.git\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.ProjectMirror(\"foo\",\n project=\"1\",\n url=\"https://username:password@github.com/org/repository.git\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.ProjectMirror(\"foo\", new()\n {\n Project = \"1\",\n Url = \"https://username:password@github.com/org/repository.git\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectMirror(ctx, \"foo\", \u0026gitlab.ProjectMirrorArgs{\n\t\t\tProject: pulumi.String(\"1\"),\n\t\t\tUrl: pulumi.String(\"https://username:password@github.com/org/repository.git\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectMirror;\nimport com.pulumi.gitlab.ProjectMirrorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ProjectMirror(\"foo\", ProjectMirrorArgs.builder()\n .project(\"1\")\n .url(\"https://username:password@github.com/org/repository.git\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:ProjectMirror\n properties:\n project: '1'\n url: https://username:password@github.com/org/repository.git\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project mirror can be imported using an id made up of `project_id:mirror_id`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectMirror:ProjectMirror foo \"12345:1337\"\n```\n\n", + "description": "The `gitlab.ProjectMirror` resource allows to manage the lifecycle of a project mirror.\n\nThis is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured using a combination of the\nimport_url, mirror, and mirror_trigger_builds properties on the gitlab.Project resource.\n\n\u003e **Warning** By default, the provider sets the `keep_divergent_refs` argument to `True`.\n If you manually set `keep_divergent_refs` to `False`, GitLab mirroring removes branches in the target that aren't in the source.\n This action can result in unexpected branch deletions.\n\n\u003e **Destroy Behavior** GitLab 14.10 introduced an API endpoint to delete a project mirror.\n Therefore, for GitLab 14.10 and newer the project mirror will be destroyed when the resource is destroyed.\n For older versions, the mirror will be disabled and the resource will be destroyed.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/remote_mirrors.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.ProjectMirror(\"foo\", {\n project: \"1\",\n url: \"https://username:password@github.com/org/repository.git\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.ProjectMirror(\"foo\",\n project=\"1\",\n url=\"https://username:password@github.com/org/repository.git\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.ProjectMirror(\"foo\", new()\n {\n Project = \"1\",\n Url = \"https://username:password@github.com/org/repository.git\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectMirror(ctx, \"foo\", \u0026gitlab.ProjectMirrorArgs{\n\t\t\tProject: pulumi.String(\"1\"),\n\t\t\tUrl: pulumi.String(\"https://username:password@github.com/org/repository.git\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectMirror;\nimport com.pulumi.gitlab.ProjectMirrorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ProjectMirror(\"foo\", ProjectMirrorArgs.builder()\n .project(\"1\")\n .url(\"https://username:password@github.com/org/repository.git\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:ProjectMirror\n properties:\n project: '1'\n url: https://username:password@github.com/org/repository.git\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project mirror can be imported using an id made up of `project_id:mirror_id`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectMirror:ProjectMirror foo \"12345:1337\"\n```\n\n", "properties": { "enabled": { "type": "boolean", @@ -17231,17 +17431,12 @@ "project": { "type": "string", "description": "The ID or full path of the project which the protected environment is created against.\n" - }, - "requiredApprovalCount": { - "type": "integer", - "description": "The number of approvals required to deploy to this environment.\n" } }, "required": [ "approvalRules", "environment", - "project", - "requiredApprovalCount" + "project" ], "inputProperties": { "approvalRules": { @@ -17265,10 +17460,6 @@ "project": { "type": "string", "description": "The ID or full path of the project which the protected environment is created against.\n" - }, - "requiredApprovalCount": { - "type": "integer", - "description": "The number of approvals required to deploy to this environment.\n" } }, "requiredInputs": [ @@ -17299,17 +17490,200 @@ "project": { "type": "string", "description": "The ID or full path of the project which the protected environment is created against.\n" + } + }, + "type": "object" + } + }, + "gitlab:index/projectPushRules:ProjectPushRules": { + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst sample = new gitlab.ProjectPushRules(\"sample\", {\n project: \"42\",\n authorEmailRegex: \"@gitlab.com$\",\n branchNameRegex: \"(feat|fix)\\\\/*\",\n commitCommitterCheck: true,\n commitCommitterNameCheck: true,\n commitMessageNegativeRegex: \"ssh\\\\:\\\\/\\\\/\",\n commitMessageRegex: \"(feat|fix):.*\",\n denyDeleteTag: false,\n fileNameRegex: \"(jar|exe)$\",\n maxFileSize: 4,\n memberCheck: true,\n preventSecrets: true,\n rejectUnsignedCommits: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nsample = gitlab.ProjectPushRules(\"sample\",\n project=\"42\",\n author_email_regex=\"@gitlab.com$\",\n branch_name_regex=\"(feat|fix)\\\\/*\",\n commit_committer_check=True,\n commit_committer_name_check=True,\n commit_message_negative_regex=\"ssh\\\\:\\\\/\\\\/\",\n commit_message_regex=\"(feat|fix):.*\",\n deny_delete_tag=False,\n file_name_regex=\"(jar|exe)$\",\n max_file_size=4,\n member_check=True,\n prevent_secrets=True,\n reject_unsigned_commits=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new GitLab.ProjectPushRules(\"sample\", new()\n {\n Project = \"42\",\n AuthorEmailRegex = \"@gitlab.com$\",\n BranchNameRegex = \"(feat|fix)\\\\/*\",\n CommitCommitterCheck = true,\n CommitCommitterNameCheck = true,\n CommitMessageNegativeRegex = \"ssh\\\\:\\\\/\\\\/\",\n CommitMessageRegex = \"(feat|fix):.*\",\n DenyDeleteTag = false,\n FileNameRegex = \"(jar|exe)$\",\n MaxFileSize = 4,\n MemberCheck = true,\n PreventSecrets = true,\n RejectUnsignedCommits = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectPushRules(ctx, \"sample\", \u0026gitlab.ProjectPushRulesArgs{\n\t\t\tProject: pulumi.String(\"42\"),\n\t\t\tAuthorEmailRegex: pulumi.String(\"@gitlab.com$\"),\n\t\t\tBranchNameRegex: pulumi.String(\"(feat|fix)\\\\/*\"),\n\t\t\tCommitCommitterCheck: pulumi.Bool(true),\n\t\t\tCommitCommitterNameCheck: pulumi.Bool(true),\n\t\t\tCommitMessageNegativeRegex: pulumi.String(\"ssh\\\\:\\\\/\\\\/\"),\n\t\t\tCommitMessageRegex: pulumi.String(\"(feat|fix):.*\"),\n\t\t\tDenyDeleteTag: pulumi.Bool(false),\n\t\t\tFileNameRegex: pulumi.String(\"(jar|exe)$\"),\n\t\t\tMaxFileSize: pulumi.Int(4),\n\t\t\tMemberCheck: pulumi.Bool(true),\n\t\t\tPreventSecrets: pulumi.Bool(true),\n\t\t\tRejectUnsignedCommits: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectPushRules;\nimport com.pulumi.gitlab.ProjectPushRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new ProjectPushRules(\"sample\", ProjectPushRulesArgs.builder()\n .project(42)\n .authorEmailRegex(\"@gitlab.com$\")\n .branchNameRegex(\"(feat|fix)\\\\/*\")\n .commitCommitterCheck(true)\n .commitCommitterNameCheck(true)\n .commitMessageNegativeRegex(\"ssh\\\\:\\\\/\\\\/\")\n .commitMessageRegex(\"(feat|fix):.*\")\n .denyDeleteTag(false)\n .fileNameRegex(\"(jar|exe)$\")\n .maxFileSize(4)\n .memberCheck(true)\n .preventSecrets(true)\n .rejectUnsignedCommits(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: gitlab:ProjectPushRules\n properties:\n project: 42\n authorEmailRegex: '@gitlab.com$'\n branchNameRegex: (feat|fix)\\/*\n commitCommitterCheck: true\n commitCommitterNameCheck: true\n commitMessageNegativeRegex: ssh\\:\\/\\/\n commitMessageRegex: (feat|fix):.*\n denyDeleteTag: false\n fileNameRegex: (jar|exe)$\n maxFileSize: 4\n memberCheck: true\n preventSecrets: true\n rejectUnsignedCommits: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab project push rules can be imported with a key composed of `\u003cproject_id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectPushRules:ProjectPushRules sample \"42\"\n```\n\n", + "properties": { + "authorEmailRegex": { + "type": "string", + "description": "All commit author emails must match this regex, e.g. `@my-company.com$`.\n" + }, + "branchNameRegex": { + "type": "string", + "description": "All branch names must match this regex, e.g. `(feature|hotfix)\\/*`.\n" + }, + "commitCommitterCheck": { + "type": "boolean", + "description": "Users can only push commits to this repository that were committed with one of their own verified emails.\n" + }, + "commitCommitterNameCheck": { + "type": "boolean", + "description": "Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.\n" + }, + "commitMessageNegativeRegex": { + "type": "string", + "description": "No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`.\n" + }, + "commitMessageRegex": { + "type": "string", + "description": "All commit messages must match this regex, e.g. `Fixed \\d+\\..*`.\n" + }, + "denyDeleteTag": { + "type": "boolean", + "description": "Deny deleting a tag.\n" + }, + "fileNameRegex": { + "type": "string", + "description": "All committed filenames must not match this regex, e.g. `(jar|exe)$`.\n" + }, + "maxFileSize": { + "type": "integer", + "description": "Maximum file size (MB).\n" + }, + "memberCheck": { + "type": "boolean", + "description": "Restrict commits by author (email) to existing GitLab users.\n" + }, + "preventSecrets": { + "type": "boolean", + "description": "GitLab will reject any files that are likely to contain secrets.\n" + }, + "project": { + "type": "string", + "description": "The ID or URL-encoded path of the project.\n" + }, + "rejectUnsignedCommits": { + "type": "boolean", + "description": "Reject commit when it’s not signed.\n" + } + }, + "required": [ + "authorEmailRegex", + "branchNameRegex", + "commitCommitterCheck", + "commitCommitterNameCheck", + "commitMessageNegativeRegex", + "commitMessageRegex", + "denyDeleteTag", + "fileNameRegex", + "maxFileSize", + "memberCheck", + "preventSecrets", + "project", + "rejectUnsignedCommits" + ], + "inputProperties": { + "authorEmailRegex": { + "type": "string", + "description": "All commit author emails must match this regex, e.g. `@my-company.com$`.\n" + }, + "branchNameRegex": { + "type": "string", + "description": "All branch names must match this regex, e.g. `(feature|hotfix)\\/*`.\n" + }, + "commitCommitterCheck": { + "type": "boolean", + "description": "Users can only push commits to this repository that were committed with one of their own verified emails.\n" + }, + "commitCommitterNameCheck": { + "type": "boolean", + "description": "Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.\n" + }, + "commitMessageNegativeRegex": { + "type": "string", + "description": "No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`.\n" + }, + "commitMessageRegex": { + "type": "string", + "description": "All commit messages must match this regex, e.g. `Fixed \\d+\\..*`.\n" + }, + "denyDeleteTag": { + "type": "boolean", + "description": "Deny deleting a tag.\n" + }, + "fileNameRegex": { + "type": "string", + "description": "All committed filenames must not match this regex, e.g. `(jar|exe)$`.\n" + }, + "maxFileSize": { + "type": "integer", + "description": "Maximum file size (MB).\n" + }, + "memberCheck": { + "type": "boolean", + "description": "Restrict commits by author (email) to existing GitLab users.\n" + }, + "preventSecrets": { + "type": "boolean", + "description": "GitLab will reject any files that are likely to contain secrets.\n" + }, + "project": { + "type": "string", + "description": "The ID or URL-encoded path of the project.\n" + }, + "rejectUnsignedCommits": { + "type": "boolean", + "description": "Reject commit when it’s not signed.\n" + } + }, + "requiredInputs": [ + "project" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ProjectPushRules resources.\n", + "properties": { + "authorEmailRegex": { + "type": "string", + "description": "All commit author emails must match this regex, e.g. `@my-company.com$`.\n" + }, + "branchNameRegex": { + "type": "string", + "description": "All branch names must match this regex, e.g. `(feature|hotfix)\\/*`.\n" + }, + "commitCommitterCheck": { + "type": "boolean", + "description": "Users can only push commits to this repository that were committed with one of their own verified emails.\n" }, - "requiredApprovalCount": { + "commitCommitterNameCheck": { + "type": "boolean", + "description": "Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.\n" + }, + "commitMessageNegativeRegex": { + "type": "string", + "description": "No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`.\n" + }, + "commitMessageRegex": { + "type": "string", + "description": "All commit messages must match this regex, e.g. `Fixed \\d+\\..*`.\n" + }, + "denyDeleteTag": { + "type": "boolean", + "description": "Deny deleting a tag.\n" + }, + "fileNameRegex": { + "type": "string", + "description": "All committed filenames must not match this regex, e.g. `(jar|exe)$`.\n" + }, + "maxFileSize": { "type": "integer", - "description": "The number of approvals required to deploy to this environment.\n" + "description": "Maximum file size (MB).\n" + }, + "memberCheck": { + "type": "boolean", + "description": "Restrict commits by author (email) to existing GitLab users.\n" + }, + "preventSecrets": { + "type": "boolean", + "description": "GitLab will reject any files that are likely to contain secrets.\n" + }, + "project": { + "type": "string", + "description": "The ID or URL-encoded path of the project.\n" + }, + "rejectUnsignedCommits": { + "type": "boolean", + "description": "Reject commit when it’s not signed.\n" } }, "type": "object" } }, "gitlab:index/projectRunnerEnablement:ProjectRunnerEnablement": { - "description": "The `gitlab.ProjectRunnerEnablement` resource allows to enable a runner in a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/runners.html#enable-a-runner-in-project)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.ProjectRunnerEnablement(\"foo\", {\n project: \"5\",\n runnerId: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.ProjectRunnerEnablement(\"foo\",\n project=\"5\",\n runner_id=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.ProjectRunnerEnablement(\"foo\", new()\n {\n Project = \"5\",\n RunnerId = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectRunnerEnablement(ctx, \"foo\", \u0026gitlab.ProjectRunnerEnablementArgs{\n\t\t\tProject: pulumi.String(\"5\"),\n\t\t\tRunnerId: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectRunnerEnablement;\nimport com.pulumi.gitlab.ProjectRunnerEnablementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ProjectRunnerEnablement(\"foo\", ProjectRunnerEnablementArgs.builder()\n .project(5)\n .runnerId(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:ProjectRunnerEnablement\n properties:\n project: 5\n runnerId: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project runners can be imported using an id made up of `project:runner_id`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectRunnerEnablement:ProjectRunnerEnablement foo 5:7\n```\n\n", + "description": "The `gitlab.ProjectRunnerEnablement` resource allows to enable a runner in a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/runners.html#enable-a-runner-in-project)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = new gitlab.ProjectRunnerEnablement(\"foo\", {\n project: \"5\",\n runnerId: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.ProjectRunnerEnablement(\"foo\",\n project=\"5\",\n runner_id=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new GitLab.ProjectRunnerEnablement(\"foo\", new()\n {\n Project = \"5\",\n RunnerId = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectRunnerEnablement(ctx, \"foo\", \u0026gitlab.ProjectRunnerEnablementArgs{\n\t\t\tProject: pulumi.String(\"5\"),\n\t\t\tRunnerId: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectRunnerEnablement;\nimport com.pulumi.gitlab.ProjectRunnerEnablementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new ProjectRunnerEnablement(\"foo\", ProjectRunnerEnablementArgs.builder()\n .project(5)\n .runnerId(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: gitlab:ProjectRunnerEnablement\n properties:\n project: 5\n runnerId: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project runners can be imported using an id made up of `project:runner_id`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectRunnerEnablement:ProjectRunnerEnablement foo 5:7\n```\n\n", "properties": { "project": { "type": "string", @@ -17358,16 +17732,16 @@ } }, "gitlab:index/projectShareGroup:ProjectShareGroup": { - "description": "The `gitlab.ProjectShareGroup` resource allows to manage the lifecycle of project shared with a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/projects.html#share-project-with-group)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst test = new gitlab.ProjectShareGroup(\"test\", {\n project: \"12345\",\n groupId: 1337,\n groupAccess: \"guest\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntest = gitlab.ProjectShareGroup(\"test\",\n project=\"12345\",\n group_id=1337,\n group_access=\"guest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new GitLab.ProjectShareGroup(\"test\", new()\n {\n Project = \"12345\",\n GroupId = 1337,\n GroupAccess = \"guest\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectShareGroup(ctx, \"test\", \u0026gitlab.ProjectShareGroupArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tGroupId: pulumi.Int(1337),\n\t\t\tGroupAccess: pulumi.String(\"guest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectShareGroup;\nimport com.pulumi.gitlab.ProjectShareGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ProjectShareGroup(\"test\", ProjectShareGroupArgs.builder()\n .project(\"12345\")\n .groupId(1337)\n .groupAccess(\"guest\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: gitlab:ProjectShareGroup\n properties:\n project: '12345'\n groupId: 1337\n groupAccess: guest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project group shares can be imported using an id made up of `projectid:groupid`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectShareGroup:ProjectShareGroup test 12345:1337\n```\n\n", + "description": "The `gitlab.ProjectShareGroup` resource allows to manage the lifecycle of project shared with a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/projects.html#share-project-with-group)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst test = new gitlab.ProjectShareGroup(\"test\", {\n project: \"12345\",\n groupId: 1337,\n groupAccess: \"guest\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntest = gitlab.ProjectShareGroup(\"test\",\n project=\"12345\",\n group_id=1337,\n group_access=\"guest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new GitLab.ProjectShareGroup(\"test\", new()\n {\n Project = \"12345\",\n GroupId = 1337,\n GroupAccess = \"guest\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectShareGroup(ctx, \"test\", \u0026gitlab.ProjectShareGroupArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tGroupId: pulumi.Int(1337),\n\t\t\tGroupAccess: pulumi.String(\"guest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectShareGroup;\nimport com.pulumi.gitlab.ProjectShareGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ProjectShareGroup(\"test\", ProjectShareGroupArgs.builder()\n .project(\"12345\")\n .groupId(1337)\n .groupAccess(\"guest\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: gitlab:ProjectShareGroup\n properties:\n project: '12345'\n groupId: 1337\n groupAccess: guest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project group shares can be imported using an id made up of `projectid:groupid`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectShareGroup:ProjectShareGroup test 12345:1337\n```\n\n", "properties": { "accessLevel": { "type": "string", - "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "deprecationMessage": "Use `group_access` instead of the `access_level` attribute." }, "groupAccess": { "type": "string", - "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n" + "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n" }, "groupId": { "type": "integer", @@ -17385,13 +17759,13 @@ "inputProperties": { "accessLevel": { "type": "string", - "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "deprecationMessage": "Use `group_access` instead of the `access_level` attribute.", "willReplaceOnChanges": true }, "groupAccess": { "type": "string", - "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "willReplaceOnChanges": true }, "groupId": { @@ -17414,13 +17788,13 @@ "properties": { "accessLevel": { "type": "string", - "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "deprecationMessage": "Use `group_access` instead of the `access_level` attribute.", "willReplaceOnChanges": true }, "groupAccess": { "type": "string", - "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`\n", + "description": "The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`\n", "willReplaceOnChanges": true }, "groupId": { @@ -17438,7 +17812,7 @@ } }, "gitlab:index/projectTag:ProjectTag": { - "description": "The `gitlab.ProjectTag` resource allows to manage the lifecycle of a tag in a project.\n\n**Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/tags.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// Create a project for the tag to use\nconst example = new gitlab.Project(\"example\", {\n name: \"example\",\n description: \"An example project\",\n namespaceId: exampleGitlabGroup.id,\n});\nconst exampleProjectTag = new gitlab.ProjectTag(\"example\", {\n name: \"example\",\n ref: \"main\",\n project: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# Create a project for the tag to use\nexample = gitlab.Project(\"example\",\n name=\"example\",\n description=\"An example project\",\n namespace_id=example_gitlab_group[\"id\"])\nexample_project_tag = gitlab.ProjectTag(\"example\",\n name=\"example\",\n ref=\"main\",\n project=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a project for the tag to use\n var example = new GitLab.Project(\"example\", new()\n {\n Name = \"example\",\n Description = \"An example project\",\n NamespaceId = exampleGitlabGroup.Id,\n });\n\n var exampleProjectTag = new GitLab.ProjectTag(\"example\", new()\n {\n Name = \"example\",\n Ref = \"main\",\n Project = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a project for the tag to use\n\t\texample, err := gitlab.NewProject(ctx, \"example\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example project\"),\n\t\t\tNamespaceId: pulumi.Any(exampleGitlabGroup.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectTag(ctx, \"example\", \u0026gitlab.ProjectTagArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRef: pulumi.String(\"main\"),\n\t\t\tProject: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectTag;\nimport com.pulumi.gitlab.ProjectTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a project for the tag to use\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(\"example\")\n .description(\"An example project\")\n .namespaceId(exampleGitlabGroup.id())\n .build());\n\n var exampleProjectTag = new ProjectTag(\"exampleProjectTag\", ProjectTagArgs.builder()\n .name(\"example\")\n .ref(\"main\")\n .project(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a project for the tag to use\n example:\n type: gitlab:Project\n properties:\n name: example\n description: An example project\n namespaceId: ${exampleGitlabGroup.id}\n exampleProjectTag:\n type: gitlab:ProjectTag\n name: example\n properties:\n name: example\n ref: main\n project: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab project tags can be imported with a key composed of `\u003cproject_id\u003e:\u003ctag_name\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectTag:ProjectTag example \"12345:develop\"\n```\n\nNOTE: the `ref` attribute won't be available for imported `gitlab_project_tag` resources.\n\n", + "description": "The `gitlab.ProjectTag` resource allows to manage the lifecycle of a tag in a project.\n\n**Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/tags.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// Create a project for the tag to use\nconst example = new gitlab.Project(\"example\", {\n name: \"example\",\n description: \"An example project\",\n namespaceId: exampleGitlabGroup.id,\n});\nconst exampleProjectTag = new gitlab.ProjectTag(\"example\", {\n name: \"example\",\n ref: \"main\",\n project: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# Create a project for the tag to use\nexample = gitlab.Project(\"example\",\n name=\"example\",\n description=\"An example project\",\n namespace_id=example_gitlab_group[\"id\"])\nexample_project_tag = gitlab.ProjectTag(\"example\",\n name=\"example\",\n ref=\"main\",\n project=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a project for the tag to use\n var example = new GitLab.Project(\"example\", new()\n {\n Name = \"example\",\n Description = \"An example project\",\n NamespaceId = exampleGitlabGroup.Id,\n });\n\n var exampleProjectTag = new GitLab.ProjectTag(\"example\", new()\n {\n Name = \"example\",\n Ref = \"main\",\n Project = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a project for the tag to use\n\t\texample, err := gitlab.NewProject(ctx, \"example\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example project\"),\n\t\t\tNamespaceId: pulumi.Any(exampleGitlabGroup.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewProjectTag(ctx, \"example\", \u0026gitlab.ProjectTagArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRef: pulumi.String(\"main\"),\n\t\t\tProject: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ProjectTag;\nimport com.pulumi.gitlab.ProjectTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a project for the tag to use\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(\"example\")\n .description(\"An example project\")\n .namespaceId(exampleGitlabGroup.id())\n .build());\n\n var exampleProjectTag = new ProjectTag(\"exampleProjectTag\", ProjectTagArgs.builder()\n .name(\"example\")\n .ref(\"main\")\n .project(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a project for the tag to use\n example:\n type: gitlab:Project\n properties:\n name: example\n description: An example project\n namespaceId: ${exampleGitlabGroup.id}\n exampleProjectTag:\n type: gitlab:ProjectTag\n name: example\n properties:\n name: example\n ref: main\n project: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab project tags can be imported with a key composed of `\u003cproject_id\u003e:\u003ctag_name\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectTag:ProjectTag example \"12345:develop\"\n```\n\nNOTE: the `ref` attribute won't be available for imported `gitlab_project_tag` resources.\n\n", "properties": { "commits": { "type": "array", @@ -17564,7 +17938,7 @@ } }, "gitlab:index/projectVariable:ProjectVariable": { - "description": "The `gitlab.ProjectVariable` resource allows to manage the lifecycle of a CI/CD variable for a project.\n\n\u003e **Important:** If your GitLab version is older than 13.4, you may see nondeterministic behavior when updating or deleting gitlab.ProjectVariable resources with non-unique keys, for example if there is another variable with the same key and different environment scope. See [this GitLab issue](https://gitlab.com/gitlab-org/gitlab/-/issues/9912).\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.ProjectVariable(\"example\", {\n project: \"12345\",\n key: \"project_variable_key\",\n value: \"project_variable_value\",\n \"protected\": false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.ProjectVariable(\"example\",\n project=\"12345\",\n key=\"project_variable_key\",\n value=\"project_variable_value\",\n protected=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.ProjectVariable(\"example\", new()\n {\n Project = \"12345\",\n Key = \"project_variable_key\",\n Value = \"project_variable_value\",\n Protected = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectVariable(ctx, \"example\", \u0026gitlab.ProjectVariableArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tKey: pulumi.String(\"project_variable_key\"),\n\t\t\tValue: pulumi.String(\"project_variable_value\"),\n\t\t\tProtected: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectVariable;\nimport com.pulumi.gitlab.ProjectVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ProjectVariable(\"example\", ProjectVariableArgs.builder()\n .project(\"12345\")\n .key(\"project_variable_key\")\n .value(\"project_variable_value\")\n .protected_(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:ProjectVariable\n properties:\n project: '12345'\n key: project_variable_key\n value: project_variable_value\n protected: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project variables can be imported using an id made up of `project:key:environment_scope`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectVariable:ProjectVariable example '12345:project_variable_key:*'\n```\n\n", + "description": "The `gitlab.ProjectVariable` resource allows to manage the lifecycle of a CI/CD variable for a project.\n\n\u003e **Important:** If your GitLab version is older than 13.4, you may see nondeterministic behavior when updating or deleting gitlab.ProjectVariable resources with non-unique keys, for example if there is another variable with the same key and different environment scope. See [this GitLab issue](https://gitlab.com/gitlab-org/gitlab/-/issues/9912).\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.ProjectVariable(\"example\", {\n project: \"12345\",\n key: \"project_variable_key\",\n value: \"project_variable_value\",\n \"protected\": false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.ProjectVariable(\"example\",\n project=\"12345\",\n key=\"project_variable_key\",\n value=\"project_variable_value\",\n protected=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.ProjectVariable(\"example\", new()\n {\n Project = \"12345\",\n Key = \"project_variable_key\",\n Value = \"project_variable_value\",\n Protected = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewProjectVariable(ctx, \"example\", \u0026gitlab.ProjectVariableArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tKey: pulumi.String(\"project_variable_key\"),\n\t\t\tValue: pulumi.String(\"project_variable_value\"),\n\t\t\tProtected: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.ProjectVariable;\nimport com.pulumi.gitlab.ProjectVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ProjectVariable(\"example\", ProjectVariableArgs.builder()\n .project(\"12345\")\n .key(\"project_variable_key\")\n .value(\"project_variable_value\")\n .protected_(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:ProjectVariable\n properties:\n project: '12345'\n key: project_variable_key\n value: project_variable_value\n protected: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitLab project variables can be imported using an id made up of `project:key:environment_scope`, e.g.\n\n```sh\n$ pulumi import gitlab:index/projectVariable:ProjectVariable example '12345:project_variable_key:*'\n```\n\n", "properties": { "description": { "type": "string", @@ -17701,7 +18075,7 @@ } }, "gitlab:index/releaseLink:ReleaseLink": { - "description": "The `gitlab.ReleaseLink` resource allows to manage the lifecycle of a release link.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/releases/links.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// Create a project\nconst example = new gitlab.Project(\"example\", {\n name: \"example\",\n description: \"An example project\",\n});\n// Can create release link only to a tag associated with a release\nconst exampleReleaseLink = new gitlab.ReleaseLink(\"example\", {\n project: example.id,\n tagName: \"tag_name_associated_with_release\",\n name: \"test\",\n url: \"https://test/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# Create a project\nexample = gitlab.Project(\"example\",\n name=\"example\",\n description=\"An example project\")\n# Can create release link only to a tag associated with a release\nexample_release_link = gitlab.ReleaseLink(\"example\",\n project=example.id,\n tag_name=\"tag_name_associated_with_release\",\n name=\"test\",\n url=\"https://test/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a project\n var example = new GitLab.Project(\"example\", new()\n {\n Name = \"example\",\n Description = \"An example project\",\n });\n\n // Can create release link only to a tag associated with a release\n var exampleReleaseLink = new GitLab.ReleaseLink(\"example\", new()\n {\n Project = example.Id,\n TagName = \"tag_name_associated_with_release\",\n Name = \"test\",\n Url = \"https://test/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a project\n\t\texample, err := gitlab.NewProject(ctx, \"example\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Can create release link only to a tag associated with a release\n\t\t_, err = gitlab.NewReleaseLink(ctx, \"example\", \u0026gitlab.ReleaseLinkArgs{\n\t\t\tProject: example.ID(),\n\t\t\tTagName: pulumi.String(\"tag_name_associated_with_release\"),\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUrl: pulumi.String(\"https://test/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ReleaseLink;\nimport com.pulumi.gitlab.ReleaseLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a project\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(\"example\")\n .description(\"An example project\")\n .build());\n\n // Can create release link only to a tag associated with a release\n var exampleReleaseLink = new ReleaseLink(\"exampleReleaseLink\", ReleaseLinkArgs.builder()\n .project(example.id())\n .tagName(\"tag_name_associated_with_release\")\n .name(\"test\")\n .url(\"https://test/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a project\n example:\n type: gitlab:Project\n properties:\n name: example\n description: An example project\n # Can create release link only to a tag associated with a release\n exampleReleaseLink:\n type: gitlab:ReleaseLink\n name: example\n properties:\n project: ${example.id}\n tagName: tag_name_associated_with_release\n name: test\n url: https://test/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab release link can be imported with a key composed of `\u003cproject\u003e:\u003ctag_name\u003e:\u003clink_id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/releaseLink:ReleaseLink example \"12345:test:2\"\n```\n\n", + "description": "The `gitlab.ReleaseLink` resource allows to manage the lifecycle of a release link.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/releases/links.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// Create a project\nconst example = new gitlab.Project(\"example\", {\n name: \"example\",\n description: \"An example project\",\n});\n// Can create release link only to a tag associated with a release\nconst exampleReleaseLink = new gitlab.ReleaseLink(\"example\", {\n project: example.id,\n tagName: \"tag_name_associated_with_release\",\n name: \"test\",\n url: \"https://test/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# Create a project\nexample = gitlab.Project(\"example\",\n name=\"example\",\n description=\"An example project\")\n# Can create release link only to a tag associated with a release\nexample_release_link = gitlab.ReleaseLink(\"example\",\n project=example.id,\n tag_name=\"tag_name_associated_with_release\",\n name=\"test\",\n url=\"https://test/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a project\n var example = new GitLab.Project(\"example\", new()\n {\n Name = \"example\",\n Description = \"An example project\",\n });\n\n // Can create release link only to a tag associated with a release\n var exampleReleaseLink = new GitLab.ReleaseLink(\"example\", new()\n {\n Project = example.Id,\n TagName = \"tag_name_associated_with_release\",\n Name = \"test\",\n Url = \"https://test/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a project\n\t\texample, err := gitlab.NewProject(ctx, \"example\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Can create release link only to a tag associated with a release\n\t\t_, err = gitlab.NewReleaseLink(ctx, \"example\", \u0026gitlab.ReleaseLinkArgs{\n\t\t\tProject: example.ID(),\n\t\t\tTagName: pulumi.String(\"tag_name_associated_with_release\"),\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tUrl: pulumi.String(\"https://test/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ReleaseLink;\nimport com.pulumi.gitlab.ReleaseLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a project\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(\"example\")\n .description(\"An example project\")\n .build());\n\n // Can create release link only to a tag associated with a release\n var exampleReleaseLink = new ReleaseLink(\"exampleReleaseLink\", ReleaseLinkArgs.builder()\n .project(example.id())\n .tagName(\"tag_name_associated_with_release\")\n .name(\"test\")\n .url(\"https://test/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a project\n example:\n type: gitlab:Project\n properties:\n name: example\n description: An example project\n # Can create release link only to a tag associated with a release\n exampleReleaseLink:\n type: gitlab:ReleaseLink\n name: example\n properties:\n project: ${example.id}\n tagName: tag_name_associated_with_release\n name: test\n url: https://test/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGitlab release link can be imported with a key composed of `\u003cproject\u003e:\u003ctag_name\u003e:\u003clink_id\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/releaseLink:ReleaseLink example \"12345:test:2\"\n```\n\n", "properties": { "directAssetUrl": { "type": "string", @@ -17826,7 +18200,7 @@ } }, "gitlab:index/repositoryFile:RepositoryFile": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\nimport * as std from \"@pulumi/std\";\n\nconst _this = new gitlab.Group(\"this\", {\n name: \"example\",\n path: \"example\",\n description: \"An example group\",\n});\nconst thisProject = new gitlab.Project(\"this\", {\n name: \"example\",\n namespaceId: _this.id,\n initializeWithReadme: true,\n});\nconst thisRepositoryFile = new gitlab.RepositoryFile(\"this\", {\n project: thisProject.id,\n filePath: \"meow.txt\",\n branch: \"main\",\n content: std.base64encode({\n input: \"Meow goes the cat\",\n }).then(invoke =\u003e invoke.result),\n authorEmail: \"terraform@example.com\",\n authorName: \"Terraform\",\n commitMessage: \"feature: add meow file\",\n});\nconst readme = new gitlab.RepositoryFile(\"readme\", {\n project: thisProject.id,\n filePath: \"readme.txt\",\n branch: \"main\",\n content: \"Meow goes the cat\",\n authorEmail: \"terraform@example.com\",\n authorName: \"Terraform\",\n commitMessage: \"feature: add readme file\",\n});\nconst readmeForDogs = new gitlab.RepositoryFile(\"readme_for_dogs\", {\n project: thisProject.id,\n filePath: \"readme.txt\",\n branch: \"main\",\n content: \"Bark goes the dog\",\n authorEmail: \"terraform@example.com\",\n authorName: \"Terraform\",\n commitMessage: \"feature: update readme file\",\n overwriteOnCreate: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\nimport pulumi_std as std\n\nthis = gitlab.Group(\"this\",\n name=\"example\",\n path=\"example\",\n description=\"An example group\")\nthis_project = gitlab.Project(\"this\",\n name=\"example\",\n namespace_id=this.id,\n initialize_with_readme=True)\nthis_repository_file = gitlab.RepositoryFile(\"this\",\n project=this_project.id,\n file_path=\"meow.txt\",\n branch=\"main\",\n content=std.base64encode(input=\"Meow goes the cat\").result,\n author_email=\"terraform@example.com\",\n author_name=\"Terraform\",\n commit_message=\"feature: add meow file\")\nreadme = gitlab.RepositoryFile(\"readme\",\n project=this_project.id,\n file_path=\"readme.txt\",\n branch=\"main\",\n content=\"Meow goes the cat\",\n author_email=\"terraform@example.com\",\n author_name=\"Terraform\",\n commit_message=\"feature: add readme file\")\nreadme_for_dogs = gitlab.RepositoryFile(\"readme_for_dogs\",\n project=this_project.id,\n file_path=\"readme.txt\",\n branch=\"main\",\n content=\"Bark goes the dog\",\n author_email=\"terraform@example.com\",\n author_name=\"Terraform\",\n commit_message=\"feature: update readme file\",\n overwrite_on_create=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new GitLab.Group(\"this\", new()\n {\n Name = \"example\",\n Path = \"example\",\n Description = \"An example group\",\n });\n\n var thisProject = new GitLab.Project(\"this\", new()\n {\n Name = \"example\",\n NamespaceId = @this.Id,\n InitializeWithReadme = true,\n });\n\n var thisRepositoryFile = new GitLab.RepositoryFile(\"this\", new()\n {\n Project = thisProject.Id,\n FilePath = \"meow.txt\",\n Branch = \"main\",\n Content = Std.Base64encode.Invoke(new()\n {\n Input = \"Meow goes the cat\",\n }).Apply(invoke =\u003e invoke.Result),\n AuthorEmail = \"terraform@example.com\",\n AuthorName = \"Terraform\",\n CommitMessage = \"feature: add meow file\",\n });\n\n var readme = new GitLab.RepositoryFile(\"readme\", new()\n {\n Project = thisProject.Id,\n FilePath = \"readme.txt\",\n Branch = \"main\",\n Content = \"Meow goes the cat\",\n AuthorEmail = \"terraform@example.com\",\n AuthorName = \"Terraform\",\n CommitMessage = \"feature: add readme file\",\n });\n\n var readmeForDogs = new GitLab.RepositoryFile(\"readme_for_dogs\", new()\n {\n Project = thisProject.Id,\n FilePath = \"readme.txt\",\n Branch = \"main\",\n Content = \"Bark goes the dog\",\n AuthorEmail = \"terraform@example.com\",\n AuthorName = \"Terraform\",\n CommitMessage = \"feature: update readme file\",\n OverwriteOnCreate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := gitlab.NewGroup(ctx, \"this\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisProject, err := gitlab.NewProject(ctx, \"this\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tNamespaceId: this.ID(),\n\t\t\tInitializeWithReadme: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"Meow goes the cat\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewRepositoryFile(ctx, \"this\", \u0026gitlab.RepositoryFileArgs{\n\t\t\tProject: thisProject.ID(),\n\t\t\tFilePath: pulumi.String(\"meow.txt\"),\n\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\tContent: invokeBase64encode.Result,\n\t\t\tAuthorEmail: pulumi.String(\"terraform@example.com\"),\n\t\t\tAuthorName: pulumi.String(\"Terraform\"),\n\t\t\tCommitMessage: pulumi.String(\"feature: add meow file\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewRepositoryFile(ctx, \"readme\", \u0026gitlab.RepositoryFileArgs{\n\t\t\tProject: thisProject.ID(),\n\t\t\tFilePath: pulumi.String(\"readme.txt\"),\n\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\tContent: pulumi.String(\"Meow goes the cat\"),\n\t\t\tAuthorEmail: pulumi.String(\"terraform@example.com\"),\n\t\t\tAuthorName: pulumi.String(\"Terraform\"),\n\t\t\tCommitMessage: pulumi.String(\"feature: add readme file\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewRepositoryFile(ctx, \"readme_for_dogs\", \u0026gitlab.RepositoryFileArgs{\n\t\t\tProject: thisProject.ID(),\n\t\t\tFilePath: pulumi.String(\"readme.txt\"),\n\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\tContent: pulumi.String(\"Bark goes the dog\"),\n\t\t\tAuthorEmail: pulumi.String(\"terraform@example.com\"),\n\t\t\tAuthorName: pulumi.String(\"Terraform\"),\n\t\t\tCommitMessage: pulumi.String(\"feature: update readme file\"),\n\t\t\tOverwriteOnCreate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.RepositoryFile;\nimport com.pulumi.gitlab.RepositoryFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Group(\"this\", GroupArgs.builder()\n .name(\"example\")\n .path(\"example\")\n .description(\"An example group\")\n .build());\n\n var thisProject = new Project(\"thisProject\", ProjectArgs.builder()\n .name(\"example\")\n .namespaceId(this_.id())\n .initializeWithReadme(true)\n .build());\n\n var thisRepositoryFile = new RepositoryFile(\"thisRepositoryFile\", RepositoryFileArgs.builder()\n .project(thisProject.id())\n .filePath(\"meow.txt\")\n .branch(\"main\")\n .content(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"Meow goes the cat\")\n .build()).result())\n .authorEmail(\"terraform@example.com\")\n .authorName(\"Terraform\")\n .commitMessage(\"feature: add meow file\")\n .build());\n\n var readme = new RepositoryFile(\"readme\", RepositoryFileArgs.builder()\n .project(thisProject.id())\n .filePath(\"readme.txt\")\n .branch(\"main\")\n .content(\"Meow goes the cat\")\n .authorEmail(\"terraform@example.com\")\n .authorName(\"Terraform\")\n .commitMessage(\"feature: add readme file\")\n .build());\n\n var readmeForDogs = new RepositoryFile(\"readmeForDogs\", RepositoryFileArgs.builder()\n .project(thisProject.id())\n .filePath(\"readme.txt\")\n .branch(\"main\")\n .content(\"Bark goes the dog\")\n .authorEmail(\"terraform@example.com\")\n .authorName(\"Terraform\")\n .commitMessage(\"feature: update readme file\")\n .overwriteOnCreate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: gitlab:Group\n properties:\n name: example\n path: example\n description: An example group\n thisProject:\n type: gitlab:Project\n name: this\n properties:\n name: example\n namespaceId: ${this.id}\n initializeWithReadme: true\n thisRepositoryFile:\n type: gitlab:RepositoryFile\n name: this\n properties:\n project: ${thisProject.id}\n filePath: meow.txt\n branch: main\n content:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: Meow goes the cat\n Return: result\n authorEmail: terraform@example.com\n authorName: Terraform\n commitMessage: 'feature: add meow file'\n readme:\n type: gitlab:RepositoryFile\n properties:\n project: ${thisProject.id}\n filePath: readme.txt\n branch: main\n content: Meow goes the cat\n authorEmail: terraform@example.com\n authorName: Terraform\n commitMessage: 'feature: add readme file'\n readmeForDogs:\n type: gitlab:RepositoryFile\n name: readme_for_dogs\n properties:\n project: ${thisProject.id}\n filePath: readme.txt\n branch: main\n content: Bark goes the dog\n authorEmail: terraform@example.com\n authorName: Terraform\n commitMessage: 'feature: update readme file'\n overwriteOnCreate: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Repository File can be imported using an id made up of `\u003cproject-id\u003e:\u003cbranch-name\u003e:\u003cfile-path\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/repositoryFile:RepositoryFile this 1:main:foo/bar.txt\n```\n\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\nimport * as std from \"@pulumi/std\";\n\nconst _this = new gitlab.Group(\"this\", {\n name: \"example\",\n path: \"example\",\n description: \"An example group\",\n});\nconst thisProject = new gitlab.Project(\"this\", {\n name: \"example\",\n namespaceId: _this.id,\n initializeWithReadme: true,\n});\nconst thisRepositoryFile = new gitlab.RepositoryFile(\"this\", {\n project: thisProject.id,\n filePath: \"meow.txt\",\n branch: \"main\",\n content: std.base64encode({\n input: \"Meow goes the cat\",\n }).then(invoke =\u003e invoke.result),\n authorEmail: \"terraform@example.com\",\n authorName: \"Terraform\",\n commitMessage: \"feature: add meow file\",\n});\nconst readme = new gitlab.RepositoryFile(\"readme\", {\n project: thisProject.id,\n filePath: \"readme.txt\",\n branch: \"main\",\n content: \"Meow goes the cat\",\n authorEmail: \"terraform@example.com\",\n authorName: \"Terraform\",\n commitMessage: \"feature: add readme file\",\n});\nconst readmeForDogs = new gitlab.RepositoryFile(\"readme_for_dogs\", {\n project: thisProject.id,\n filePath: \"readme.txt\",\n branch: \"main\",\n content: \"Bark goes the dog\",\n authorEmail: \"terraform@example.com\",\n authorName: \"Terraform\",\n commitMessage: \"feature: update readme file\",\n overwriteOnCreate: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\nimport pulumi_std as std\n\nthis = gitlab.Group(\"this\",\n name=\"example\",\n path=\"example\",\n description=\"An example group\")\nthis_project = gitlab.Project(\"this\",\n name=\"example\",\n namespace_id=this.id,\n initialize_with_readme=True)\nthis_repository_file = gitlab.RepositoryFile(\"this\",\n project=this_project.id,\n file_path=\"meow.txt\",\n branch=\"main\",\n content=std.base64encode(input=\"Meow goes the cat\").result,\n author_email=\"terraform@example.com\",\n author_name=\"Terraform\",\n commit_message=\"feature: add meow file\")\nreadme = gitlab.RepositoryFile(\"readme\",\n project=this_project.id,\n file_path=\"readme.txt\",\n branch=\"main\",\n content=\"Meow goes the cat\",\n author_email=\"terraform@example.com\",\n author_name=\"Terraform\",\n commit_message=\"feature: add readme file\")\nreadme_for_dogs = gitlab.RepositoryFile(\"readme_for_dogs\",\n project=this_project.id,\n file_path=\"readme.txt\",\n branch=\"main\",\n content=\"Bark goes the dog\",\n author_email=\"terraform@example.com\",\n author_name=\"Terraform\",\n commit_message=\"feature: update readme file\",\n overwrite_on_create=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new GitLab.Group(\"this\", new()\n {\n Name = \"example\",\n Path = \"example\",\n Description = \"An example group\",\n });\n\n var thisProject = new GitLab.Project(\"this\", new()\n {\n Name = \"example\",\n NamespaceId = @this.Id,\n InitializeWithReadme = true,\n });\n\n var thisRepositoryFile = new GitLab.RepositoryFile(\"this\", new()\n {\n Project = thisProject.Id,\n FilePath = \"meow.txt\",\n Branch = \"main\",\n Content = Std.Base64encode.Invoke(new()\n {\n Input = \"Meow goes the cat\",\n }).Apply(invoke =\u003e invoke.Result),\n AuthorEmail = \"terraform@example.com\",\n AuthorName = \"Terraform\",\n CommitMessage = \"feature: add meow file\",\n });\n\n var readme = new GitLab.RepositoryFile(\"readme\", new()\n {\n Project = thisProject.Id,\n FilePath = \"readme.txt\",\n Branch = \"main\",\n Content = \"Meow goes the cat\",\n AuthorEmail = \"terraform@example.com\",\n AuthorName = \"Terraform\",\n CommitMessage = \"feature: add readme file\",\n });\n\n var readmeForDogs = new GitLab.RepositoryFile(\"readme_for_dogs\", new()\n {\n Project = thisProject.Id,\n FilePath = \"readme.txt\",\n Branch = \"main\",\n Content = \"Bark goes the dog\",\n AuthorEmail = \"terraform@example.com\",\n AuthorName = \"Terraform\",\n CommitMessage = \"feature: update readme file\",\n OverwriteOnCreate = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := gitlab.NewGroup(ctx, \"this\", \u0026gitlab.GroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"An example group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisProject, err := gitlab.NewProject(ctx, \"this\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tNamespaceId: this.ID(),\n\t\t\tInitializeWithReadme: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"Meow goes the cat\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewRepositoryFile(ctx, \"this\", \u0026gitlab.RepositoryFileArgs{\n\t\t\tProject: thisProject.ID(),\n\t\t\tFilePath: pulumi.String(\"meow.txt\"),\n\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\tContent: invokeBase64encode.Result,\n\t\t\tAuthorEmail: pulumi.String(\"terraform@example.com\"),\n\t\t\tAuthorName: pulumi.String(\"Terraform\"),\n\t\t\tCommitMessage: pulumi.String(\"feature: add meow file\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewRepositoryFile(ctx, \"readme\", \u0026gitlab.RepositoryFileArgs{\n\t\t\tProject: thisProject.ID(),\n\t\t\tFilePath: pulumi.String(\"readme.txt\"),\n\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\tContent: pulumi.String(\"Meow goes the cat\"),\n\t\t\tAuthorEmail: pulumi.String(\"terraform@example.com\"),\n\t\t\tAuthorName: pulumi.String(\"Terraform\"),\n\t\t\tCommitMessage: pulumi.String(\"feature: add readme file\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewRepositoryFile(ctx, \"readme_for_dogs\", \u0026gitlab.RepositoryFileArgs{\n\t\t\tProject: thisProject.ID(),\n\t\t\tFilePath: pulumi.String(\"readme.txt\"),\n\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\tContent: pulumi.String(\"Bark goes the dog\"),\n\t\t\tAuthorEmail: pulumi.String(\"terraform@example.com\"),\n\t\t\tAuthorName: pulumi.String(\"Terraform\"),\n\t\t\tCommitMessage: pulumi.String(\"feature: update readme file\"),\n\t\t\tOverwriteOnCreate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Group;\nimport com.pulumi.gitlab.GroupArgs;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.RepositoryFile;\nimport com.pulumi.gitlab.RepositoryFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Group(\"this\", GroupArgs.builder()\n .name(\"example\")\n .path(\"example\")\n .description(\"An example group\")\n .build());\n\n var thisProject = new Project(\"thisProject\", ProjectArgs.builder()\n .name(\"example\")\n .namespaceId(this_.id())\n .initializeWithReadme(true)\n .build());\n\n var thisRepositoryFile = new RepositoryFile(\"thisRepositoryFile\", RepositoryFileArgs.builder()\n .project(thisProject.id())\n .filePath(\"meow.txt\")\n .branch(\"main\")\n .content(StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"Meow goes the cat\")\n .build()).result())\n .authorEmail(\"terraform@example.com\")\n .authorName(\"Terraform\")\n .commitMessage(\"feature: add meow file\")\n .build());\n\n var readme = new RepositoryFile(\"readme\", RepositoryFileArgs.builder()\n .project(thisProject.id())\n .filePath(\"readme.txt\")\n .branch(\"main\")\n .content(\"Meow goes the cat\")\n .authorEmail(\"terraform@example.com\")\n .authorName(\"Terraform\")\n .commitMessage(\"feature: add readme file\")\n .build());\n\n var readmeForDogs = new RepositoryFile(\"readmeForDogs\", RepositoryFileArgs.builder()\n .project(thisProject.id())\n .filePath(\"readme.txt\")\n .branch(\"main\")\n .content(\"Bark goes the dog\")\n .authorEmail(\"terraform@example.com\")\n .authorName(\"Terraform\")\n .commitMessage(\"feature: update readme file\")\n .overwriteOnCreate(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: gitlab:Group\n properties:\n name: example\n path: example\n description: An example group\n thisProject:\n type: gitlab:Project\n name: this\n properties:\n name: example\n namespaceId: ${this.id}\n initializeWithReadme: true\n thisRepositoryFile:\n type: gitlab:RepositoryFile\n name: this\n properties:\n project: ${thisProject.id}\n filePath: meow.txt\n branch: main\n content:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: Meow goes the cat\n Return: result\n authorEmail: terraform@example.com\n authorName: Terraform\n commitMessage: 'feature: add meow file'\n readme:\n type: gitlab:RepositoryFile\n properties:\n project: ${thisProject.id}\n filePath: readme.txt\n branch: main\n content: Meow goes the cat\n authorEmail: terraform@example.com\n authorName: Terraform\n commitMessage: 'feature: add readme file'\n readmeForDogs:\n type: gitlab:RepositoryFile\n name: readme_for_dogs\n properties:\n project: ${thisProject.id}\n filePath: readme.txt\n branch: main\n content: Bark goes the dog\n authorEmail: terraform@example.com\n authorName: Terraform\n commitMessage: 'feature: update readme file'\n overwriteOnCreate: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Repository File can be imported using an id made up of `\u003cproject-id\u003e:\u003cbranch-name\u003e:\u003cfile-path\u003e`, e.g.\n\n```sh\n$ pulumi import gitlab:index/repositoryFile:RepositoryFile this 1:main:foo/bar.txt\n```\n\n", "properties": { "authorEmail": { "type": "string", @@ -18241,7 +18615,7 @@ } }, "gitlab:index/serviceCustomIssueTracker:ServiceCustomIssueTracker": { - "description": "The `gitlab.ServiceCustomIssueTracker` resource allows to manage the lifecycle of a project integration with Custom Issue Tracker.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationCustomIssueTracker`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#custom-issue-tracker)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst tracker = new gitlab.ServiceCustomIssueTracker(\"tracker\", {\n project: awesomeProject.id,\n projectUrl: \"https://customtracker.com/issues\",\n issuesUrl: \"https://customtracker.com/TEST-:id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\ntracker = gitlab.ServiceCustomIssueTracker(\"tracker\",\n project=awesome_project.id,\n project_url=\"https://customtracker.com/issues\",\n issues_url=\"https://customtracker.com/TEST-:id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var tracker = new GitLab.ServiceCustomIssueTracker(\"tracker\", new()\n {\n Project = awesomeProject.Id,\n ProjectUrl = \"https://customtracker.com/issues\",\n IssuesUrl = \"https://customtracker.com/TEST-:id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceCustomIssueTracker(ctx, \"tracker\", \u0026gitlab.ServiceCustomIssueTrackerArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tProjectUrl: pulumi.String(\"https://customtracker.com/issues\"),\n\t\t\tIssuesUrl: pulumi.String(\"https://customtracker.com/TEST-:id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceCustomIssueTracker;\nimport com.pulumi.gitlab.ServiceCustomIssueTrackerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var tracker = new ServiceCustomIssueTracker(\"tracker\", ServiceCustomIssueTrackerArgs.builder()\n .project(awesomeProject.id())\n .projectUrl(\"https://customtracker.com/issues\")\n .issuesUrl(\"https://customtracker.com/TEST-:id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n tracker:\n type: gitlab:ServiceCustomIssueTracker\n properties:\n project: ${awesomeProject.id}\n projectUrl: https://customtracker.com/issues\n issuesUrl: https://customtracker.com/TEST-:id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_custom_issue_tracker state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceCustomIssueTracker:ServiceCustomIssueTracker tracker 1\n```\n\n", + "description": "The `gitlab.ServiceCustomIssueTracker` resource allows to manage the lifecycle of a project integration with Custom Issue Tracker.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationCustomIssueTracker`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#custom-issue-tracker)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst tracker = new gitlab.ServiceCustomIssueTracker(\"tracker\", {\n project: awesomeProject.id,\n projectUrl: \"https://customtracker.com/issues\",\n issuesUrl: \"https://customtracker.com/TEST-:id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\ntracker = gitlab.ServiceCustomIssueTracker(\"tracker\",\n project=awesome_project.id,\n project_url=\"https://customtracker.com/issues\",\n issues_url=\"https://customtracker.com/TEST-:id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var tracker = new GitLab.ServiceCustomIssueTracker(\"tracker\", new()\n {\n Project = awesomeProject.Id,\n ProjectUrl = \"https://customtracker.com/issues\",\n IssuesUrl = \"https://customtracker.com/TEST-:id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceCustomIssueTracker(ctx, \"tracker\", \u0026gitlab.ServiceCustomIssueTrackerArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tProjectUrl: pulumi.String(\"https://customtracker.com/issues\"),\n\t\t\tIssuesUrl: pulumi.String(\"https://customtracker.com/TEST-:id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceCustomIssueTracker;\nimport com.pulumi.gitlab.ServiceCustomIssueTrackerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var tracker = new ServiceCustomIssueTracker(\"tracker\", ServiceCustomIssueTrackerArgs.builder()\n .project(awesomeProject.id())\n .projectUrl(\"https://customtracker.com/issues\")\n .issuesUrl(\"https://customtracker.com/TEST-:id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n tracker:\n type: gitlab:ServiceCustomIssueTracker\n properties:\n project: ${awesomeProject.id}\n projectUrl: https://customtracker.com/issues\n issuesUrl: https://customtracker.com/TEST-:id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_custom_issue_tracker state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceCustomIssueTracker:ServiceCustomIssueTracker tracker 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -18336,7 +18710,7 @@ } }, "gitlab:index/serviceEmailsOnPush:ServiceEmailsOnPush": { - "description": "The `gitlab.ServiceEmailsOnPush` resource allows to manage the lifecycle of a project integration with Emails on Push Service.\n\n\u003e This resource is deprecated. Please use `gitlab.IntegrationEmailsOnPush` instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#emails-on-push)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst emails = new gitlab.ServiceEmailsOnPush(\"emails\", {\n project: awesomeProject.id,\n recipients: \"myrecipient@example.com myotherrecipient@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nemails = gitlab.ServiceEmailsOnPush(\"emails\",\n project=awesome_project.id,\n recipients=\"myrecipient@example.com myotherrecipient@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var emails = new GitLab.ServiceEmailsOnPush(\"emails\", new()\n {\n Project = awesomeProject.Id,\n Recipients = \"myrecipient@example.com myotherrecipient@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceEmailsOnPush(ctx, \"emails\", \u0026gitlab.ServiceEmailsOnPushArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tRecipients: pulumi.String(\"myrecipient@example.com myotherrecipient@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceEmailsOnPush;\nimport com.pulumi.gitlab.ServiceEmailsOnPushArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var emails = new ServiceEmailsOnPush(\"emails\", ServiceEmailsOnPushArgs.builder()\n .project(awesomeProject.id())\n .recipients(\"myrecipient@example.com myotherrecipient@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n emails:\n type: gitlab:ServiceEmailsOnPush\n properties:\n project: ${awesomeProject.id}\n recipients: myrecipient@example.com myotherrecipient@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_emails_on_push state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceEmailsOnPush:ServiceEmailsOnPush emails 1\n```\n\n", + "description": "The `gitlab.ServiceEmailsOnPush` resource allows to manage the lifecycle of a project integration with Emails on Push Service.\n\n\u003e This resource is deprecated. Please use `gitlab.IntegrationEmailsOnPush` instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#emails-on-push)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst emails = new gitlab.ServiceEmailsOnPush(\"emails\", {\n project: awesomeProject.id,\n recipients: \"myrecipient@example.com myotherrecipient@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nemails = gitlab.ServiceEmailsOnPush(\"emails\",\n project=awesome_project.id,\n recipients=\"myrecipient@example.com myotherrecipient@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var emails = new GitLab.ServiceEmailsOnPush(\"emails\", new()\n {\n Project = awesomeProject.Id,\n Recipients = \"myrecipient@example.com myotherrecipient@example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceEmailsOnPush(ctx, \"emails\", \u0026gitlab.ServiceEmailsOnPushArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tRecipients: pulumi.String(\"myrecipient@example.com myotherrecipient@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceEmailsOnPush;\nimport com.pulumi.gitlab.ServiceEmailsOnPushArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var emails = new ServiceEmailsOnPush(\"emails\", ServiceEmailsOnPushArgs.builder()\n .project(awesomeProject.id())\n .recipients(\"myrecipient@example.com myotherrecipient@example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n emails:\n type: gitlab:ServiceEmailsOnPush\n properties:\n project: ${awesomeProject.id}\n recipients: myrecipient@example.com myotherrecipient@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_emails_on_push state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceEmailsOnPush:ServiceEmailsOnPush emails 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -18488,7 +18862,7 @@ } }, "gitlab:index/serviceExternalWiki:ServiceExternalWiki": { - "description": "The `gitlab.ServiceExternalWiki` resource allows to manage the lifecycle of a project integration with External Wiki Service.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationExternalWiki`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#external-wiki)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst wiki = new gitlab.ServiceExternalWiki(\"wiki\", {\n project: awesomeProject.id,\n externalWikiUrl: \"https://MyAwesomeExternalWikiURL.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nwiki = gitlab.ServiceExternalWiki(\"wiki\",\n project=awesome_project.id,\n external_wiki_url=\"https://MyAwesomeExternalWikiURL.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var wiki = new GitLab.ServiceExternalWiki(\"wiki\", new()\n {\n Project = awesomeProject.Id,\n ExternalWikiUrl = \"https://MyAwesomeExternalWikiURL.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceExternalWiki(ctx, \"wiki\", \u0026gitlab.ServiceExternalWikiArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tExternalWikiUrl: pulumi.String(\"https://MyAwesomeExternalWikiURL.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceExternalWiki;\nimport com.pulumi.gitlab.ServiceExternalWikiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var wiki = new ServiceExternalWiki(\"wiki\", ServiceExternalWikiArgs.builder()\n .project(awesomeProject.id())\n .externalWikiUrl(\"https://MyAwesomeExternalWikiURL.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n wiki:\n type: gitlab:ServiceExternalWiki\n properties:\n project: ${awesomeProject.id}\n externalWikiUrl: https://MyAwesomeExternalWikiURL.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_external_wiki state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceExternalWiki:ServiceExternalWiki wiki 1\n```\n\n", + "description": "The `gitlab.ServiceExternalWiki` resource allows to manage the lifecycle of a project integration with External Wiki Service.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationExternalWiki`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#external-wiki)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst wiki = new gitlab.ServiceExternalWiki(\"wiki\", {\n project: awesomeProject.id,\n externalWikiUrl: \"https://MyAwesomeExternalWikiURL.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nwiki = gitlab.ServiceExternalWiki(\"wiki\",\n project=awesome_project.id,\n external_wiki_url=\"https://MyAwesomeExternalWikiURL.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var wiki = new GitLab.ServiceExternalWiki(\"wiki\", new()\n {\n Project = awesomeProject.Id,\n ExternalWikiUrl = \"https://MyAwesomeExternalWikiURL.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceExternalWiki(ctx, \"wiki\", \u0026gitlab.ServiceExternalWikiArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tExternalWikiUrl: pulumi.String(\"https://MyAwesomeExternalWikiURL.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceExternalWiki;\nimport com.pulumi.gitlab.ServiceExternalWikiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var wiki = new ServiceExternalWiki(\"wiki\", ServiceExternalWikiArgs.builder()\n .project(awesomeProject.id())\n .externalWikiUrl(\"https://MyAwesomeExternalWikiURL.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n wiki:\n type: gitlab:ServiceExternalWiki\n properties:\n project: ${awesomeProject.id}\n externalWikiUrl: https://MyAwesomeExternalWikiURL.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_external_wiki state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceExternalWiki:ServiceExternalWiki wiki 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -18580,7 +18954,7 @@ } }, "gitlab:index/serviceGithub:ServiceGithub": { - "description": "The `gitlab.ServiceGithub` resource allows to manage the lifecycle of a project integration with GitHub.\n\n\u003e This resource requires a GitLab Enterprise instance.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationGithub`instead!\n\t\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#github)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst github = new gitlab.ServiceGithub(\"github\", {\n project: awesomeProject.id,\n token: \"REDACTED\",\n repositoryUrl: \"https://github.com/gitlabhq/terraform-provider-gitlab\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\ngithub = gitlab.ServiceGithub(\"github\",\n project=awesome_project.id,\n token=\"REDACTED\",\n repository_url=\"https://github.com/gitlabhq/terraform-provider-gitlab\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var github = new GitLab.ServiceGithub(\"github\", new()\n {\n Project = awesomeProject.Id,\n Token = \"REDACTED\",\n RepositoryUrl = \"https://github.com/gitlabhq/terraform-provider-gitlab\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceGithub(ctx, \"github\", \u0026gitlab.ServiceGithubArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tToken: pulumi.String(\"REDACTED\"),\n\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/gitlabhq/terraform-provider-gitlab\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceGithub;\nimport com.pulumi.gitlab.ServiceGithubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var github = new ServiceGithub(\"github\", ServiceGithubArgs.builder()\n .project(awesomeProject.id())\n .token(\"REDACTED\")\n .repositoryUrl(\"https://github.com/gitlabhq/terraform-provider-gitlab\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n github:\n type: gitlab:ServiceGithub\n properties:\n project: ${awesomeProject.id}\n token: REDACTED\n repositoryUrl: https://github.com/gitlabhq/terraform-provider-gitlab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import gitlab:index/serviceGithub:ServiceGithub You can import a gitlab_service_github state using `\u003cresource\u003e \u003cproject_id\u003e`:\n```\n\n```sh\n$ pulumi import gitlab:index/serviceGithub:ServiceGithub github 1\n```\n\n", + "description": "The `gitlab.ServiceGithub` resource allows to manage the lifecycle of a project integration with GitHub.\n\n\u003e This resource requires a GitLab Enterprise instance.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationGithub`instead!\n\t\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#github)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst github = new gitlab.ServiceGithub(\"github\", {\n project: awesomeProject.id,\n token: \"REDACTED\",\n repositoryUrl: \"https://github.com/gitlabhq/terraform-provider-gitlab\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\ngithub = gitlab.ServiceGithub(\"github\",\n project=awesome_project.id,\n token=\"REDACTED\",\n repository_url=\"https://github.com/gitlabhq/terraform-provider-gitlab\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var github = new GitLab.ServiceGithub(\"github\", new()\n {\n Project = awesomeProject.Id,\n Token = \"REDACTED\",\n RepositoryUrl = \"https://github.com/gitlabhq/terraform-provider-gitlab\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceGithub(ctx, \"github\", \u0026gitlab.ServiceGithubArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tToken: pulumi.String(\"REDACTED\"),\n\t\t\tRepositoryUrl: pulumi.String(\"https://github.com/gitlabhq/terraform-provider-gitlab\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceGithub;\nimport com.pulumi.gitlab.ServiceGithubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var github = new ServiceGithub(\"github\", ServiceGithubArgs.builder()\n .project(awesomeProject.id())\n .token(\"REDACTED\")\n .repositoryUrl(\"https://github.com/gitlabhq/terraform-provider-gitlab\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n github:\n type: gitlab:ServiceGithub\n properties:\n project: ${awesomeProject.id}\n token: REDACTED\n repositoryUrl: https://github.com/gitlabhq/terraform-provider-gitlab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import gitlab:index/serviceGithub:ServiceGithub You can import a gitlab_service_github state using `\u003cresource\u003e \u003cproject_id\u003e`:\n```\n\n```sh\n$ pulumi import gitlab:index/serviceGithub:ServiceGithub github 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -18689,7 +19063,7 @@ } }, "gitlab:index/serviceJira:ServiceJira": { - "description": "The `gitlab.ServiceJira` resource allows to manage the lifecycle of a project integration with Jira.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationJira`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/services.html#jira)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst jira = new gitlab.ServiceJira(\"jira\", {\n project: awesomeProject.id,\n url: \"https://jira.example.com\",\n username: \"user\",\n password: \"mypass\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\njira = gitlab.ServiceJira(\"jira\",\n project=awesome_project.id,\n url=\"https://jira.example.com\",\n username=\"user\",\n password=\"mypass\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var jira = new GitLab.ServiceJira(\"jira\", new()\n {\n Project = awesomeProject.Id,\n Url = \"https://jira.example.com\",\n Username = \"user\",\n Password = \"mypass\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceJira(ctx, \"jira\", \u0026gitlab.ServiceJiraArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tUrl: pulumi.String(\"https://jira.example.com\"),\n\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\tPassword: pulumi.String(\"mypass\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceJira;\nimport com.pulumi.gitlab.ServiceJiraArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var jira = new ServiceJira(\"jira\", ServiceJiraArgs.builder()\n .project(awesomeProject.id())\n .url(\"https://jira.example.com\")\n .username(\"user\")\n .password(\"mypass\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n jira:\n type: gitlab:ServiceJira\n properties:\n project: ${awesomeProject.id}\n url: https://jira.example.com\n username: user\n password: mypass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_jira state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceJira:ServiceJira jira 1\n```\n\n", + "description": "The `gitlab.ServiceJira` resource allows to manage the lifecycle of a project integration with Jira.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationJira`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/services.html#jira)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst jira = new gitlab.ServiceJira(\"jira\", {\n project: awesomeProject.id,\n url: \"https://jira.example.com\",\n username: \"user\",\n password: \"mypass\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\njira = gitlab.ServiceJira(\"jira\",\n project=awesome_project.id,\n url=\"https://jira.example.com\",\n username=\"user\",\n password=\"mypass\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var jira = new GitLab.ServiceJira(\"jira\", new()\n {\n Project = awesomeProject.Id,\n Url = \"https://jira.example.com\",\n Username = \"user\",\n Password = \"mypass\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceJira(ctx, \"jira\", \u0026gitlab.ServiceJiraArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tUrl: pulumi.String(\"https://jira.example.com\"),\n\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\tPassword: pulumi.String(\"mypass\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceJira;\nimport com.pulumi.gitlab.ServiceJiraArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var jira = new ServiceJira(\"jira\", ServiceJiraArgs.builder()\n .project(awesomeProject.id())\n .url(\"https://jira.example.com\")\n .username(\"user\")\n .password(\"mypass\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n jira:\n type: gitlab:ServiceJira\n properties:\n project: ${awesomeProject.id}\n url: https://jira.example.com\n username: user\n password: mypass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_jira state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceJira:ServiceJira jira 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -18957,7 +19331,7 @@ } }, "gitlab:index/serviceMicrosoftTeams:ServiceMicrosoftTeams": { - "description": "The `gitlab.ServiceMicrosoftTeams` resource allows to manage the lifecycle of a project integration with Microsoft Teams.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationMicrosoftTeams`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#microsoft-teams)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst teams = new gitlab.ServiceMicrosoftTeams(\"teams\", {\n project: awesomeProject.id,\n webhook: \"https://testurl.com/?token=XYZ\",\n pushEvents: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nteams = gitlab.ServiceMicrosoftTeams(\"teams\",\n project=awesome_project.id,\n webhook=\"https://testurl.com/?token=XYZ\",\n push_events=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var teams = new GitLab.ServiceMicrosoftTeams(\"teams\", new()\n {\n Project = awesomeProject.Id,\n Webhook = \"https://testurl.com/?token=XYZ\",\n PushEvents = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceMicrosoftTeams(ctx, \"teams\", \u0026gitlab.ServiceMicrosoftTeamsArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tWebhook: pulumi.String(\"https://testurl.com/?token=XYZ\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceMicrosoftTeams;\nimport com.pulumi.gitlab.ServiceMicrosoftTeamsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var teams = new ServiceMicrosoftTeams(\"teams\", ServiceMicrosoftTeamsArgs.builder()\n .project(awesomeProject.id())\n .webhook(\"https://testurl.com/?token=XYZ\")\n .pushEvents(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n teams:\n type: gitlab:ServiceMicrosoftTeams\n properties:\n project: ${awesomeProject.id}\n webhook: https://testurl.com/?token=XYZ\n pushEvents: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_microsoft_teams state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceMicrosoftTeams:ServiceMicrosoftTeams teams 1\n```\n\n", + "description": "The `gitlab.ServiceMicrosoftTeams` resource allows to manage the lifecycle of a project integration with Microsoft Teams.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationMicrosoftTeams`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#microsoft-teams)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst teams = new gitlab.ServiceMicrosoftTeams(\"teams\", {\n project: awesomeProject.id,\n webhook: \"https://testurl.com/?token=XYZ\",\n pushEvents: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nteams = gitlab.ServiceMicrosoftTeams(\"teams\",\n project=awesome_project.id,\n webhook=\"https://testurl.com/?token=XYZ\",\n push_events=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var teams = new GitLab.ServiceMicrosoftTeams(\"teams\", new()\n {\n Project = awesomeProject.Id,\n Webhook = \"https://testurl.com/?token=XYZ\",\n PushEvents = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceMicrosoftTeams(ctx, \"teams\", \u0026gitlab.ServiceMicrosoftTeamsArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tWebhook: pulumi.String(\"https://testurl.com/?token=XYZ\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceMicrosoftTeams;\nimport com.pulumi.gitlab.ServiceMicrosoftTeamsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var teams = new ServiceMicrosoftTeams(\"teams\", ServiceMicrosoftTeamsArgs.builder()\n .project(awesomeProject.id())\n .webhook(\"https://testurl.com/?token=XYZ\")\n .pushEvents(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n teams:\n type: gitlab:ServiceMicrosoftTeams\n properties:\n project: ${awesomeProject.id}\n webhook: https://testurl.com/?token=XYZ\n pushEvents: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_microsoft_teams state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceMicrosoftTeams:ServiceMicrosoftTeams teams 1\n```\n\n", "properties": { "active": { "type": "boolean", @@ -19163,7 +19537,7 @@ } }, "gitlab:index/servicePipelinesEmail:ServicePipelinesEmail": { - "description": "The `gitlab.ServicePipelinesEmail` resource allows to manage the lifecycle of a project integration with Pipeline Emails Service.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationPipelinesEmail`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#pipeline-emails)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst email = new gitlab.ServicePipelinesEmail(\"email\", {\n project: awesomeProject.id,\n recipients: [\"gitlab@user.create\"],\n notifyOnlyBrokenPipelines: true,\n branchesToBeNotified: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nemail = gitlab.ServicePipelinesEmail(\"email\",\n project=awesome_project.id,\n recipients=[\"gitlab@user.create\"],\n notify_only_broken_pipelines=True,\n branches_to_be_notified=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var email = new GitLab.ServicePipelinesEmail(\"email\", new()\n {\n Project = awesomeProject.Id,\n Recipients = new[]\n {\n \"gitlab@user.create\",\n },\n NotifyOnlyBrokenPipelines = true,\n BranchesToBeNotified = \"all\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServicePipelinesEmail(ctx, \"email\", \u0026gitlab.ServicePipelinesEmailArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tRecipients: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"gitlab@user.create\"),\n\t\t\t},\n\t\t\tNotifyOnlyBrokenPipelines: pulumi.Bool(true),\n\t\t\tBranchesToBeNotified: pulumi.String(\"all\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServicePipelinesEmail;\nimport com.pulumi.gitlab.ServicePipelinesEmailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var email = new ServicePipelinesEmail(\"email\", ServicePipelinesEmailArgs.builder()\n .project(awesomeProject.id())\n .recipients(\"gitlab@user.create\")\n .notifyOnlyBrokenPipelines(true)\n .branchesToBeNotified(\"all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n email:\n type: gitlab:ServicePipelinesEmail\n properties:\n project: ${awesomeProject.id}\n recipients:\n - gitlab@user.create\n notifyOnlyBrokenPipelines: true\n branchesToBeNotified: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_pipelines_email state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/servicePipelinesEmail:ServicePipelinesEmail email 1\n```\n\n", + "description": "The `gitlab.ServicePipelinesEmail` resource allows to manage the lifecycle of a project integration with Pipeline Emails Service.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationPipelinesEmail`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#pipeline-emails)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst email = new gitlab.ServicePipelinesEmail(\"email\", {\n project: awesomeProject.id,\n recipients: [\"gitlab@user.create\"],\n notifyOnlyBrokenPipelines: true,\n branchesToBeNotified: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nemail = gitlab.ServicePipelinesEmail(\"email\",\n project=awesome_project.id,\n recipients=[\"gitlab@user.create\"],\n notify_only_broken_pipelines=True,\n branches_to_be_notified=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var email = new GitLab.ServicePipelinesEmail(\"email\", new()\n {\n Project = awesomeProject.Id,\n Recipients = new[]\n {\n \"gitlab@user.create\",\n },\n NotifyOnlyBrokenPipelines = true,\n BranchesToBeNotified = \"all\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServicePipelinesEmail(ctx, \"email\", \u0026gitlab.ServicePipelinesEmailArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tRecipients: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"gitlab@user.create\"),\n\t\t\t},\n\t\t\tNotifyOnlyBrokenPipelines: pulumi.Bool(true),\n\t\t\tBranchesToBeNotified: pulumi.String(\"all\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServicePipelinesEmail;\nimport com.pulumi.gitlab.ServicePipelinesEmailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var email = new ServicePipelinesEmail(\"email\", ServicePipelinesEmailArgs.builder()\n .project(awesomeProject.id())\n .recipients(\"gitlab@user.create\")\n .notifyOnlyBrokenPipelines(true)\n .branchesToBeNotified(\"all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n email:\n type: gitlab:ServicePipelinesEmail\n properties:\n project: ${awesomeProject.id}\n recipients:\n - gitlab@user.create\n notifyOnlyBrokenPipelines: true\n branchesToBeNotified: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_pipelines_email state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/servicePipelinesEmail:ServicePipelinesEmail email 1\n```\n\n", "properties": { "branchesToBeNotified": { "type": "string", @@ -19243,7 +19617,7 @@ } }, "gitlab:index/serviceSlack:ServiceSlack": { - "description": "The `gitlab.ServiceSlack` resource allows to manage the lifecycle of a project integration with Slack.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationSlack`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#slack-notifications)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst slack = new gitlab.ServiceSlack(\"slack\", {\n project: awesomeProject.id,\n webhook: \"https://webhook.com\",\n username: \"myuser\",\n pushEvents: true,\n pushChannel: \"push_chan\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nslack = gitlab.ServiceSlack(\"slack\",\n project=awesome_project.id,\n webhook=\"https://webhook.com\",\n username=\"myuser\",\n push_events=True,\n push_channel=\"push_chan\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var slack = new GitLab.ServiceSlack(\"slack\", new()\n {\n Project = awesomeProject.Id,\n Webhook = \"https://webhook.com\",\n Username = \"myuser\",\n PushEvents = true,\n PushChannel = \"push_chan\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceSlack(ctx, \"slack\", \u0026gitlab.ServiceSlackArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tWebhook: pulumi.String(\"https://webhook.com\"),\n\t\t\tUsername: pulumi.String(\"myuser\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t\tPushChannel: pulumi.String(\"push_chan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceSlack;\nimport com.pulumi.gitlab.ServiceSlackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var slack = new ServiceSlack(\"slack\", ServiceSlackArgs.builder()\n .project(awesomeProject.id())\n .webhook(\"https://webhook.com\")\n .username(\"myuser\")\n .pushEvents(true)\n .pushChannel(\"push_chan\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n slack:\n type: gitlab:ServiceSlack\n properties:\n project: ${awesomeProject.id}\n webhook: https://webhook.com\n username: myuser\n pushEvents: true\n pushChannel: push_chan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_slack.slack state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceSlack:ServiceSlack email 1\n```\n\n", + "description": "The `gitlab.ServiceSlack` resource allows to manage the lifecycle of a project integration with Slack.\n\n\u003e This resource is deprecated. use `gitlab.IntegrationSlack`instead!\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#slack-notifications)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst awesomeProject = new gitlab.Project(\"awesome_project\", {\n name: \"awesome_project\",\n description: \"My awesome project.\",\n visibilityLevel: \"public\",\n});\nconst slack = new gitlab.ServiceSlack(\"slack\", {\n project: awesomeProject.id,\n webhook: \"https://webhook.com\",\n username: \"myuser\",\n pushEvents: true,\n pushChannel: \"push_chan\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nawesome_project = gitlab.Project(\"awesome_project\",\n name=\"awesome_project\",\n description=\"My awesome project.\",\n visibility_level=\"public\")\nslack = gitlab.ServiceSlack(\"slack\",\n project=awesome_project.id,\n webhook=\"https://webhook.com\",\n username=\"myuser\",\n push_events=True,\n push_channel=\"push_chan\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awesomeProject = new GitLab.Project(\"awesome_project\", new()\n {\n Name = \"awesome_project\",\n Description = \"My awesome project.\",\n VisibilityLevel = \"public\",\n });\n\n var slack = new GitLab.ServiceSlack(\"slack\", new()\n {\n Project = awesomeProject.Id,\n Webhook = \"https://webhook.com\",\n Username = \"myuser\",\n PushEvents = true,\n PushChannel = \"push_chan\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawesomeProject, err := gitlab.NewProject(ctx, \"awesome_project\", \u0026gitlab.ProjectArgs{\n\t\t\tName: pulumi.String(\"awesome_project\"),\n\t\t\tDescription: pulumi.String(\"My awesome project.\"),\n\t\t\tVisibilityLevel: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewServiceSlack(ctx, \"slack\", \u0026gitlab.ServiceSlackArgs{\n\t\t\tProject: awesomeProject.ID(),\n\t\t\tWebhook: pulumi.String(\"https://webhook.com\"),\n\t\t\tUsername: pulumi.String(\"myuser\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t\tPushChannel: pulumi.String(\"push_chan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.Project;\nimport com.pulumi.gitlab.ProjectArgs;\nimport com.pulumi.gitlab.ServiceSlack;\nimport com.pulumi.gitlab.ServiceSlackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awesomeProject = new Project(\"awesomeProject\", ProjectArgs.builder()\n .name(\"awesome_project\")\n .description(\"My awesome project.\")\n .visibilityLevel(\"public\")\n .build());\n\n var slack = new ServiceSlack(\"slack\", ServiceSlackArgs.builder()\n .project(awesomeProject.id())\n .webhook(\"https://webhook.com\")\n .username(\"myuser\")\n .pushEvents(true)\n .pushChannel(\"push_chan\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awesomeProject:\n type: gitlab:Project\n name: awesome_project\n properties:\n name: awesome_project\n description: My awesome project.\n visibilityLevel: public\n slack:\n type: gitlab:ServiceSlack\n properties:\n project: ${awesomeProject.id}\n webhook: https://webhook.com\n username: myuser\n pushEvents: true\n pushChannel: push_chan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab_service_slack.slack state using the project ID, e.g.\n\n```sh\n$ pulumi import gitlab:index/serviceSlack:ServiceSlack email 1\n```\n\n", "properties": { "branchesToBeNotified": { "type": "string", @@ -19566,7 +19940,7 @@ } }, "gitlab:index/systemHook:SystemHook": { - "description": "The `gitlab.SystemHook` resource allows to manage the lifecycle of a system hook.\n\n\u003e This resource requires GitLab 14.9\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/system_hooks.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.SystemHook(\"example\", {\n url: \"https://example.com/hook-%d\",\n token: \"secret-token\",\n pushEvents: true,\n tagPushEvents: true,\n mergeRequestsEvents: true,\n repositoryUpdateEvents: true,\n enableSslVerification: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.SystemHook(\"example\",\n url=\"https://example.com/hook-%d\",\n token=\"secret-token\",\n push_events=True,\n tag_push_events=True,\n merge_requests_events=True,\n repository_update_events=True,\n enable_ssl_verification=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.SystemHook(\"example\", new()\n {\n Url = \"https://example.com/hook-%d\",\n Token = \"secret-token\",\n PushEvents = true,\n TagPushEvents = true,\n MergeRequestsEvents = true,\n RepositoryUpdateEvents = true,\n EnableSslVerification = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewSystemHook(ctx, \"example\", \u0026gitlab.SystemHookArgs{\n\t\t\tUrl: pulumi.String(\"https://example.com/hook-%d\"),\n\t\t\tToken: pulumi.String(\"secret-token\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t\tTagPushEvents: pulumi.Bool(true),\n\t\t\tMergeRequestsEvents: pulumi.Bool(true),\n\t\t\tRepositoryUpdateEvents: pulumi.Bool(true),\n\t\t\tEnableSslVerification: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.SystemHook;\nimport com.pulumi.gitlab.SystemHookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SystemHook(\"example\", SystemHookArgs.builder()\n .url(\"https://example.com/hook-%d\")\n .token(\"secret-token\")\n .pushEvents(true)\n .tagPushEvents(true)\n .mergeRequestsEvents(true)\n .repositoryUpdateEvents(true)\n .enableSslVerification(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:SystemHook\n properties:\n url: https://example.com/hook-%d\n token: secret-token\n pushEvents: true\n tagPushEvents: true\n mergeRequestsEvents: true\n repositoryUpdateEvents: true\n enableSslVerification: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a system hook using the hook id `{hook-id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/systemHook:SystemHook example 42\n```\n\nNOTE: the `token` attribute won't be available for imported resources.\n\n", + "description": "The `gitlab.SystemHook` resource allows to manage the lifecycle of a system hook.\n\n\u003e This resource requires GitLab 14.9\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/system_hooks.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.SystemHook(\"example\", {\n url: \"https://example.com/hook-%d\",\n token: \"secret-token\",\n pushEvents: true,\n tagPushEvents: true,\n mergeRequestsEvents: true,\n repositoryUpdateEvents: true,\n enableSslVerification: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.SystemHook(\"example\",\n url=\"https://example.com/hook-%d\",\n token=\"secret-token\",\n push_events=True,\n tag_push_events=True,\n merge_requests_events=True,\n repository_update_events=True,\n enable_ssl_verification=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.SystemHook(\"example\", new()\n {\n Url = \"https://example.com/hook-%d\",\n Token = \"secret-token\",\n PushEvents = true,\n TagPushEvents = true,\n MergeRequestsEvents = true,\n RepositoryUpdateEvents = true,\n EnableSslVerification = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewSystemHook(ctx, \"example\", \u0026gitlab.SystemHookArgs{\n\t\t\tUrl: pulumi.String(\"https://example.com/hook-%d\"),\n\t\t\tToken: pulumi.String(\"secret-token\"),\n\t\t\tPushEvents: pulumi.Bool(true),\n\t\t\tTagPushEvents: pulumi.Bool(true),\n\t\t\tMergeRequestsEvents: pulumi.Bool(true),\n\t\t\tRepositoryUpdateEvents: pulumi.Bool(true),\n\t\t\tEnableSslVerification: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.SystemHook;\nimport com.pulumi.gitlab.SystemHookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SystemHook(\"example\", SystemHookArgs.builder()\n .url(\"https://example.com/hook-%d\")\n .token(\"secret-token\")\n .pushEvents(true)\n .tagPushEvents(true)\n .mergeRequestsEvents(true)\n .repositoryUpdateEvents(true)\n .enableSslVerification(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:SystemHook\n properties:\n url: https://example.com/hook-%d\n token: secret-token\n pushEvents: true\n tagPushEvents: true\n mergeRequestsEvents: true\n repositoryUpdateEvents: true\n enableSslVerification: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a system hook using the hook id `{hook-id}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/systemHook:SystemHook example 42\n```\n\nNOTE: the `token` attribute won't be available for imported resources.\n\n", "properties": { "createdAt": { "type": "string", @@ -19695,7 +20069,7 @@ } }, "gitlab:index/tagProtection:TagProtection": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst tagProtect = new gitlab.TagProtection(\"TagProtect\", {\n project: \"12345\",\n tag: \"TagProtected\",\n createAccessLevel: \"developer\",\n allowedToCreates: [\n {\n userId: 42,\n },\n {\n groupId: 43,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntag_protect = gitlab.TagProtection(\"TagProtect\",\n project=\"12345\",\n tag=\"TagProtected\",\n create_access_level=\"developer\",\n allowed_to_creates=[\n gitlab.TagProtectionAllowedToCreateArgs(\n user_id=42,\n ),\n gitlab.TagProtectionAllowedToCreateArgs(\n group_id=43,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tagProtect = new GitLab.TagProtection(\"TagProtect\", new()\n {\n Project = \"12345\",\n Tag = \"TagProtected\",\n CreateAccessLevel = \"developer\",\n AllowedToCreates = new[]\n {\n new GitLab.Inputs.TagProtectionAllowedToCreateArgs\n {\n UserId = 42,\n },\n new GitLab.Inputs.TagProtectionAllowedToCreateArgs\n {\n GroupId = 43,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewTagProtection(ctx, \"TagProtect\", \u0026gitlab.TagProtectionArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tTag: pulumi.String(\"TagProtected\"),\n\t\t\tCreateAccessLevel: pulumi.String(\"developer\"),\n\t\t\tAllowedToCreates: gitlab.TagProtectionAllowedToCreateArray{\n\t\t\t\t\u0026gitlab.TagProtectionAllowedToCreateArgs{\n\t\t\t\t\tUserId: pulumi.Int(42),\n\t\t\t\t},\n\t\t\t\t\u0026gitlab.TagProtectionAllowedToCreateArgs{\n\t\t\t\t\tGroupId: pulumi.Int(43),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.TagProtection;\nimport com.pulumi.gitlab.TagProtectionArgs;\nimport com.pulumi.gitlab.inputs.TagProtectionAllowedToCreateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var tagProtect = new TagProtection(\"tagProtect\", TagProtectionArgs.builder()\n .project(\"12345\")\n .tag(\"TagProtected\")\n .createAccessLevel(\"developer\")\n .allowedToCreates( \n TagProtectionAllowedToCreateArgs.builder()\n .userId(42)\n .build(),\n TagProtectionAllowedToCreateArgs.builder()\n .groupId(43)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tagProtect:\n type: gitlab:TagProtection\n name: TagProtect\n properties:\n project: '12345'\n tag: TagProtected\n createAccessLevel: developer\n allowedToCreates:\n - userId: 42\n - groupId: 43\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTag protections can be imported using an id made up of `project_id:tag_name`, e.g.\n\n```sh\n$ pulumi import gitlab:index/tagProtection:TagProtection example 123456789:v1.0.0\n```\n\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst tagProtect = new gitlab.TagProtection(\"TagProtect\", {\n project: \"12345\",\n tag: \"TagProtected\",\n createAccessLevel: \"developer\",\n allowedToCreates: [\n {\n userId: 42,\n },\n {\n groupId: 43,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\ntag_protect = gitlab.TagProtection(\"TagProtect\",\n project=\"12345\",\n tag=\"TagProtected\",\n create_access_level=\"developer\",\n allowed_to_creates=[\n gitlab.TagProtectionAllowedToCreateArgs(\n user_id=42,\n ),\n gitlab.TagProtectionAllowedToCreateArgs(\n group_id=43,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tagProtect = new GitLab.TagProtection(\"TagProtect\", new()\n {\n Project = \"12345\",\n Tag = \"TagProtected\",\n CreateAccessLevel = \"developer\",\n AllowedToCreates = new[]\n {\n new GitLab.Inputs.TagProtectionAllowedToCreateArgs\n {\n UserId = 42,\n },\n new GitLab.Inputs.TagProtectionAllowedToCreateArgs\n {\n GroupId = 43,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewTagProtection(ctx, \"TagProtect\", \u0026gitlab.TagProtectionArgs{\n\t\t\tProject: pulumi.String(\"12345\"),\n\t\t\tTag: pulumi.String(\"TagProtected\"),\n\t\t\tCreateAccessLevel: pulumi.String(\"developer\"),\n\t\t\tAllowedToCreates: gitlab.TagProtectionAllowedToCreateArray{\n\t\t\t\t\u0026gitlab.TagProtectionAllowedToCreateArgs{\n\t\t\t\t\tUserId: pulumi.Int(42),\n\t\t\t\t},\n\t\t\t\t\u0026gitlab.TagProtectionAllowedToCreateArgs{\n\t\t\t\t\tGroupId: pulumi.Int(43),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.TagProtection;\nimport com.pulumi.gitlab.TagProtectionArgs;\nimport com.pulumi.gitlab.inputs.TagProtectionAllowedToCreateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var tagProtect = new TagProtection(\"tagProtect\", TagProtectionArgs.builder()\n .project(\"12345\")\n .tag(\"TagProtected\")\n .createAccessLevel(\"developer\")\n .allowedToCreates( \n TagProtectionAllowedToCreateArgs.builder()\n .userId(42)\n .build(),\n TagProtectionAllowedToCreateArgs.builder()\n .groupId(43)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tagProtect:\n type: gitlab:TagProtection\n name: TagProtect\n properties:\n project: '12345'\n tag: TagProtected\n createAccessLevel: developer\n allowedToCreates:\n - userId: 42\n - groupId: 43\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTag protections can be imported using an id made up of `project_id:tag_name`, e.g.\n\n```sh\n$ pulumi import gitlab:index/tagProtection:TagProtection example 123456789:v1.0.0\n```\n\n", "properties": { "allowedToCreates": { "type": "array", @@ -19884,7 +20258,7 @@ } }, "gitlab:index/user:User": { - "description": "The `gitlab.User` resource allows to manage the lifecycle of a user.\n\n\u003e the provider needs to be configured with admin-level access for this resource to work.\n\n\u003e You must specify either password or reset_password.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.User(\"example\", {\n name: \"Example Foo\",\n username: \"example\",\n password: \"superPassword\",\n email: \"gitlab@user.create\",\n isAdmin: true,\n projectsLimit: 4,\n canCreateGroup: false,\n isExternal: true,\n resetPassword: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.User(\"example\",\n name=\"Example Foo\",\n username=\"example\",\n password=\"superPassword\",\n email=\"gitlab@user.create\",\n is_admin=True,\n projects_limit=4,\n can_create_group=False,\n is_external=True,\n reset_password=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.User(\"example\", new()\n {\n Name = \"Example Foo\",\n Username = \"example\",\n Password = \"superPassword\",\n Email = \"gitlab@user.create\",\n IsAdmin = true,\n ProjectsLimit = 4,\n CanCreateGroup = false,\n IsExternal = true,\n ResetPassword = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewUser(ctx, \"example\", \u0026gitlab.UserArgs{\n\t\t\tName: pulumi.String(\"Example Foo\"),\n\t\t\tUsername: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"superPassword\"),\n\t\t\tEmail: pulumi.String(\"gitlab@user.create\"),\n\t\t\tIsAdmin: pulumi.Bool(true),\n\t\t\tProjectsLimit: pulumi.Int(4),\n\t\t\tCanCreateGroup: pulumi.Bool(false),\n\t\t\tIsExternal: pulumi.Bool(true),\n\t\t\tResetPassword: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.User;\nimport com.pulumi.gitlab.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new User(\"example\", UserArgs.builder()\n .name(\"Example Foo\")\n .username(\"example\")\n .password(\"superPassword\")\n .email(\"gitlab@user.create\")\n .isAdmin(true)\n .projectsLimit(4)\n .canCreateGroup(false)\n .isExternal(true)\n .resetPassword(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:User\n properties:\n name: Example Foo\n username: example\n password: superPassword\n email: gitlab@user.create\n isAdmin: true\n projectsLimit: 4\n canCreateGroup: false\n isExternal: true\n resetPassword: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import gitlab:index/user:User You can import a user to terraform state using `\u003cresource\u003e \u003cid\u003e`.\n```\n\nThe `id` must be an integer for the id of the user you want to import,\n\nfor example:\n\n```sh\n$ pulumi import gitlab:index/user:User example 42\n```\n\n", + "description": "The `gitlab.User` resource allows to manage the lifecycle of a user.\n\n\u003e the provider needs to be configured with admin-level access for this resource to work.\n\n\u003e You must specify either password or reset_password.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = new gitlab.User(\"example\", {\n name: \"Example Foo\",\n username: \"example\",\n password: \"superPassword\",\n email: \"gitlab@user.create\",\n isAdmin: true,\n projectsLimit: 4,\n canCreateGroup: false,\n isExternal: true,\n resetPassword: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.User(\"example\",\n name=\"Example Foo\",\n username=\"example\",\n password=\"superPassword\",\n email=\"gitlab@user.create\",\n is_admin=True,\n projects_limit=4,\n can_create_group=False,\n is_external=True,\n reset_password=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new GitLab.User(\"example\", new()\n {\n Name = \"Example Foo\",\n Username = \"example\",\n Password = \"superPassword\",\n Email = \"gitlab@user.create\",\n IsAdmin = true,\n ProjectsLimit = 4,\n CanCreateGroup = false,\n IsExternal = true,\n ResetPassword = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewUser(ctx, \"example\", \u0026gitlab.UserArgs{\n\t\t\tName: pulumi.String(\"Example Foo\"),\n\t\t\tUsername: pulumi.String(\"example\"),\n\t\t\tPassword: pulumi.String(\"superPassword\"),\n\t\t\tEmail: pulumi.String(\"gitlab@user.create\"),\n\t\t\tIsAdmin: pulumi.Bool(true),\n\t\t\tProjectsLimit: pulumi.Int(4),\n\t\t\tCanCreateGroup: pulumi.Bool(false),\n\t\t\tIsExternal: pulumi.Bool(true),\n\t\t\tResetPassword: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.User;\nimport com.pulumi.gitlab.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new User(\"example\", UserArgs.builder()\n .name(\"Example Foo\")\n .username(\"example\")\n .password(\"superPassword\")\n .email(\"gitlab@user.create\")\n .isAdmin(true)\n .projectsLimit(4)\n .canCreateGroup(false)\n .isExternal(true)\n .resetPassword(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: gitlab:User\n properties:\n name: Example Foo\n username: example\n password: superPassword\n email: gitlab@user.create\n isAdmin: true\n projectsLimit: 4\n canCreateGroup: false\n isExternal: true\n resetPassword: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import gitlab:index/user:User You can import a user to terraform state using `\u003cresource\u003e \u003cid\u003e`.\n```\n\nThe `id` must be an integer for the id of the user you want to import,\n\nfor example:\n\n```sh\n$ pulumi import gitlab:index/user:User example 42\n```\n\n", "properties": { "canCreateGroup": { "type": "boolean", @@ -20072,7 +20446,7 @@ } }, "gitlab:index/userCustomAttribute:UserCustomAttribute": { - "description": "The `gitlab.UserCustomAttribute` resource allows to manage custom attributes for a user.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/custom_attributes.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst attr = new gitlab.UserCustomAttribute(\"attr\", {\n user: 42,\n key: \"location\",\n value: \"Greenland\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nattr = gitlab.UserCustomAttribute(\"attr\",\n user=42,\n key=\"location\",\n value=\"Greenland\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var attr = new GitLab.UserCustomAttribute(\"attr\", new()\n {\n User = 42,\n Key = \"location\",\n Value = \"Greenland\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewUserCustomAttribute(ctx, \"attr\", \u0026gitlab.UserCustomAttributeArgs{\n\t\t\tUser: pulumi.Int(42),\n\t\t\tKey: pulumi.String(\"location\"),\n\t\t\tValue: pulumi.String(\"Greenland\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.UserCustomAttribute;\nimport com.pulumi.gitlab.UserCustomAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var attr = new UserCustomAttribute(\"attr\", UserCustomAttributeArgs.builder()\n .user(\"42\")\n .key(\"location\")\n .value(\"Greenland\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n attr:\n type: gitlab:UserCustomAttribute\n properties:\n user: '42'\n key: location\n value: Greenland\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a user custom attribute using an id made up of `{user-id}:{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/userCustomAttribute:UserCustomAttribute attr 42:location\n```\n\n", + "description": "The `gitlab.UserCustomAttribute` resource allows to manage custom attributes for a user.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/custom_attributes.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst attr = new gitlab.UserCustomAttribute(\"attr\", {\n user: 42,\n key: \"location\",\n value: \"Greenland\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nattr = gitlab.UserCustomAttribute(\"attr\",\n user=42,\n key=\"location\",\n value=\"Greenland\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var attr = new GitLab.UserCustomAttribute(\"attr\", new()\n {\n User = 42,\n Key = \"location\",\n Value = \"Greenland\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.NewUserCustomAttribute(ctx, \"attr\", \u0026gitlab.UserCustomAttributeArgs{\n\t\t\tUser: pulumi.Int(42),\n\t\t\tKey: pulumi.String(\"location\"),\n\t\t\tValue: pulumi.String(\"Greenland\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.UserCustomAttribute;\nimport com.pulumi.gitlab.UserCustomAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var attr = new UserCustomAttribute(\"attr\", UserCustomAttributeArgs.builder()\n .user(\"42\")\n .key(\"location\")\n .value(\"Greenland\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n attr:\n type: gitlab:UserCustomAttribute\n properties:\n user: '42'\n key: location\n value: Greenland\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a user custom attribute using an id made up of `{user-id}:{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/userCustomAttribute:UserCustomAttribute attr 42:location\n```\n\n", "properties": { "key": { "type": "string", @@ -20131,7 +20505,7 @@ } }, "gitlab:index/userGpgKey:UserGpgKey": { - "description": "The `gitlab.UserGpgKey` resource allows to manage the lifecycle of a GPG key assigned to the current user or a specific user.\n\t\t\n\u003e Managing GPG keys for arbitrary users requires admin privileges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html#get-a-specific-gpg-key)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getUser({\n username: \"example-user\",\n});\n// Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\nconst exampleUserGpgKey = new gitlab.UserGpgKey(\"example\", {\n userId: example.then(example =\u003e example.id),\n key: `-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----`,\n});\n// Manages a GPG key for the current user\nconst exampleUser = new gitlab.UserGpgKey(\"example_user\", {key: `-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----`});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_user(username=\"example-user\")\n# Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\nexample_user_gpg_key = gitlab.UserGpgKey(\"example\",\n user_id=example.id,\n key=\"\"\"-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----\"\"\")\n# Manages a GPG key for the current user\nexample_user = gitlab.UserGpgKey(\"example_user\", key=\"\"\"-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetUser.Invoke(new()\n {\n Username = \"example-user\",\n });\n\n // Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\n var exampleUserGpgKey = new GitLab.UserGpgKey(\"example\", new()\n {\n UserId = example.Apply(getUserResult =\u003e getUserResult.Id),\n Key = @\"-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----\",\n });\n\n // Manages a GPG key for the current user\n var exampleUser = new GitLab.UserGpgKey(\"example_user\", new()\n {\n Key = @\"-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.LookupUser(ctx, \u0026gitlab.LookupUserArgs{\n\t\t\tUsername: pulumi.StringRef(\"example-user\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\n\t\t_, err = gitlab.NewUserGpgKey(ctx, \"example\", \u0026gitlab.UserGpgKeyArgs{\n\t\t\tUserId: pulumi.String(example.Id),\n\t\t\tKey: pulumi.String(\"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n...\\n-----END PGP PUBLIC KEY BLOCK-----\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Manages a GPG key for the current user\n\t\t_, err = gitlab.NewUserGpgKey(ctx, \"example_user\", \u0026gitlab.UserGpgKeyArgs{\n\t\t\tKey: pulumi.String(\"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n...\\n-----END PGP PUBLIC KEY BLOCK-----\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetUserArgs;\nimport com.pulumi.gitlab.UserGpgKey;\nimport com.pulumi.gitlab.UserGpgKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getUser(GetUserArgs.builder()\n .username(\"example-user\")\n .build());\n\n // Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\n var exampleUserGpgKey = new UserGpgKey(\"exampleUserGpgKey\", UserGpgKeyArgs.builder()\n .userId(example.applyValue(getUserResult -\u003e getUserResult.id()))\n .key(\"\"\"\n-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK----- \"\"\")\n .build());\n\n // Manages a GPG key for the current user\n var exampleUser = new UserGpgKey(\"exampleUser\", UserGpgKeyArgs.builder()\n .key(\"\"\"\n-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK----- \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\n exampleUserGpgKey:\n type: gitlab:UserGpgKey\n name: example\n properties:\n userId: ${example.id}\n key: |-\n -----BEGIN PGP PUBLIC KEY BLOCK-----\n ...\n -----END PGP PUBLIC KEY BLOCK-----\n # Manages a GPG key for the current user\n exampleUser:\n type: gitlab:UserGpgKey\n name: example_user\n properties:\n key: |-\n -----BEGIN PGP PUBLIC KEY BLOCK-----\n ...\n -----END PGP PUBLIC KEY BLOCK-----\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getUser\n Arguments:\n username: example-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a GPG key for a specific user using an id made up of `{user-id}:{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/userGpgKey:UserGpgKey example 42:1\n```\n\nAlternatively, you can import a GPG key for the current user using an id made up of `{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/userGpgKey:UserGpgKey example_user 1\n```\n\n", + "description": "The `gitlab.UserGpgKey` resource allows to manage the lifecycle of a GPG key assigned to the current user or a specific user.\n\t\t\n\u003e Managing GPG keys for arbitrary users requires admin privileges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html#get-a-specific-gpg-key)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getUser({\n username: \"example-user\",\n});\n// Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\nconst exampleUserGpgKey = new gitlab.UserGpgKey(\"example\", {\n userId: example.then(example =\u003e example.id),\n key: `-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----`,\n});\n// Manages a GPG key for the current user\nconst exampleUser = new gitlab.UserGpgKey(\"example_user\", {key: `-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----`});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_user(username=\"example-user\")\n# Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\nexample_user_gpg_key = gitlab.UserGpgKey(\"example\",\n user_id=example.id,\n key=\"\"\"-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----\"\"\")\n# Manages a GPG key for the current user\nexample_user = gitlab.UserGpgKey(\"example_user\", key=\"\"\"-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetUser.Invoke(new()\n {\n Username = \"example-user\",\n });\n\n // Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\n var exampleUserGpgKey = new GitLab.UserGpgKey(\"example\", new()\n {\n UserId = example.Apply(getUserResult =\u003e getUserResult.Id),\n Key = @\"-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----\",\n });\n\n // Manages a GPG key for the current user\n var exampleUser = new GitLab.UserGpgKey(\"example_user\", new()\n {\n Key = @\"-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.LookupUser(ctx, \u0026gitlab.LookupUserArgs{\n\t\t\tUsername: pulumi.StringRef(\"example-user\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\n\t\t_, err = gitlab.NewUserGpgKey(ctx, \"example\", \u0026gitlab.UserGpgKeyArgs{\n\t\t\tUserId: pulumi.String(example.Id),\n\t\t\tKey: pulumi.String(\"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n...\\n-----END PGP PUBLIC KEY BLOCK-----\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Manages a GPG key for the current user\n\t\t_, err = gitlab.NewUserGpgKey(ctx, \"example_user\", \u0026gitlab.UserGpgKeyArgs{\n\t\t\tKey: pulumi.String(\"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n...\\n-----END PGP PUBLIC KEY BLOCK-----\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetUserArgs;\nimport com.pulumi.gitlab.UserGpgKey;\nimport com.pulumi.gitlab.UserGpgKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getUser(GetUserArgs.builder()\n .username(\"example-user\")\n .build());\n\n // Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\n var exampleUserGpgKey = new UserGpgKey(\"exampleUserGpgKey\", UserGpgKeyArgs.builder()\n .userId(example.applyValue(getUserResult -\u003e getUserResult.id()))\n .key(\"\"\"\n-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK----- \"\"\")\n .build());\n\n // Manages a GPG key for the current user\n var exampleUser = new UserGpgKey(\"exampleUser\", UserGpgKeyArgs.builder()\n .key(\"\"\"\n-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK----- \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Manages a GPG key for the specified user. An admin token is required if `user_id` is specified.\n exampleUserGpgKey:\n type: gitlab:UserGpgKey\n name: example\n properties:\n userId: ${example.id}\n key: |-\n -----BEGIN PGP PUBLIC KEY BLOCK-----\n ...\n -----END PGP PUBLIC KEY BLOCK-----\n # Manages a GPG key for the current user\n exampleUser:\n type: gitlab:UserGpgKey\n name: example_user\n properties:\n key: |-\n -----BEGIN PGP PUBLIC KEY BLOCK-----\n ...\n -----END PGP PUBLIC KEY BLOCK-----\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getUser\n Arguments:\n username: example-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a GPG key for a specific user using an id made up of `{user-id}:{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/userGpgKey:UserGpgKey example 42:1\n```\n\nAlternatively, you can import a GPG key for the current user using an id made up of `{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/userGpgKey:UserGpgKey example_user 1\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -20196,7 +20570,7 @@ } }, "gitlab:index/userRunner:UserRunner": { - "description": "The `gitlab.UserRunner` resource allows creating a GitLab runner using the new [GitLab Runner Registration Flow](https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html).\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html#create-a-runner)\n", + "description": "The `gitlab.UserRunner` resource allows creating a GitLab runner using the new [GitLab Runner Registration Flow](https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html).\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html#create-a-runner)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// Create a project runner\nconst projectRunner = new gitlab.UserRunner(\"project_runner\", {\n runnerType: \"project_type\",\n projectId: 123456,\n description: \"A runner created using a user access token instead of a registration token\",\n tagLists: [\n \"a-tag\",\n \"other-tag\",\n ],\n untagged: true,\n});\n// Create a group runner\nconst groupRunner = new gitlab.UserRunner(\"group_runner\", {\n runnerType: \"group_type\",\n groupId: 123456,\n});\n// Create a instance runner\nconst instanceRunner = new gitlab.UserRunner(\"instance_runner\", {runnerType: \"instance_type\"});\nconst configToml = pulumi.interpolate`concurrent = 1\ncheck_interval = 0\n\n[session_server]\n session_timeout = 1800\n\n[[runners]]\n name = \"my_gitlab_runner\"\n url = \"https://example.gitlab.com\"\n token = \"${groupRunner.token}\"\n executor = \"docker\"\n\n [runners.custom_build_dir]\n [runners.cache]\n [runners.cache.s3]\n [runners.cache.gcs]\n [runners.cache.azure]\n [runners.docker]\n tls_verify = false\n image = \"ubuntu\"\n privileged = true\n disable_entrypoint_overwrite = false\n oom_kill_disable = false\n disable_cache = false\n volumes = [\"/cache\", \"/certs/client\"]\n shm_size = 0\n`;\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# Create a project runner\nproject_runner = gitlab.UserRunner(\"project_runner\",\n runner_type=\"project_type\",\n project_id=123456,\n description=\"A runner created using a user access token instead of a registration token\",\n tag_lists=[\n \"a-tag\",\n \"other-tag\",\n ],\n untagged=True)\n# Create a group runner\ngroup_runner = gitlab.UserRunner(\"group_runner\",\n runner_type=\"group_type\",\n group_id=123456)\n# Create a instance runner\ninstance_runner = gitlab.UserRunner(\"instance_runner\", runner_type=\"instance_type\")\nconfig_toml = group_runner.token.apply(lambda token: f\"\"\"concurrent = 1\ncheck_interval = 0\n\n[session_server]\n session_timeout = 1800\n\n[[runners]]\n name = \"my_gitlab_runner\"\n url = \"https://example.gitlab.com\"\n token = \"{token}\"\n executor = \"docker\"\n\n [runners.custom_build_dir]\n [runners.cache]\n [runners.cache.s3]\n [runners.cache.gcs]\n [runners.cache.azure]\n [runners.docker]\n tls_verify = false\n image = \"ubuntu\"\n privileged = true\n disable_entrypoint_overwrite = false\n oom_kill_disable = false\n disable_cache = false\n volumes = [\"/cache\", \"/certs/client\"]\n shm_size = 0\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a project runner\n var projectRunner = new GitLab.UserRunner(\"project_runner\", new()\n {\n RunnerType = \"project_type\",\n ProjectId = 123456,\n Description = \"A runner created using a user access token instead of a registration token\",\n TagLists = new[]\n {\n \"a-tag\",\n \"other-tag\",\n },\n Untagged = true,\n });\n\n // Create a group runner\n var groupRunner = new GitLab.UserRunner(\"group_runner\", new()\n {\n RunnerType = \"group_type\",\n GroupId = 123456,\n });\n\n // Create a instance runner\n var instanceRunner = new GitLab.UserRunner(\"instance_runner\", new()\n {\n RunnerType = \"instance_type\",\n });\n\n var configToml = groupRunner.Token.Apply(token =\u003e @$\"concurrent = 1\ncheck_interval = 0\n\n[session_server]\n session_timeout = 1800\n\n[[runners]]\n name = \"\"my_gitlab_runner\"\"\n url = \"\"https://example.gitlab.com\"\"\n token = \"\"{token}\"\"\n executor = \"\"docker\"\"\n\n [runners.custom_build_dir]\n [runners.cache]\n [runners.cache.s3]\n [runners.cache.gcs]\n [runners.cache.azure]\n [runners.docker]\n tls_verify = false\n image = \"\"ubuntu\"\"\n privileged = true\n disable_entrypoint_overwrite = false\n oom_kill_disable = false\n disable_cache = false\n volumes = [\"\"/cache\"\", \"\"/certs/client\"\"]\n shm_size = 0\n\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a project runner\n\t\t_, err := gitlab.NewUserRunner(ctx, \"project_runner\", \u0026gitlab.UserRunnerArgs{\n\t\t\tRunnerType: pulumi.String(\"project_type\"),\n\t\t\tProjectId: pulumi.Int(123456),\n\t\t\tDescription: pulumi.String(\"A runner created using a user access token instead of a registration token\"),\n\t\t\tTagLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"a-tag\"),\n\t\t\t\tpulumi.String(\"other-tag\"),\n\t\t\t},\n\t\t\tUntagged: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a group runner\n\t\tgroupRunner, err := gitlab.NewUserRunner(ctx, \"group_runner\", \u0026gitlab.UserRunnerArgs{\n\t\t\tRunnerType: pulumi.String(\"group_type\"),\n\t\t\tGroupId: pulumi.Int(123456),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a instance runner\n\t\t_, err = gitlab.NewUserRunner(ctx, \"instance_runner\", \u0026gitlab.UserRunnerArgs{\n\t\t\tRunnerType: pulumi.String(\"instance_type\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = groupRunner.Token.ApplyT(func(token string) (string, error) {\n\t\t\treturn fmt.Sprintf(`concurrent = 1\ncheck_interval = 0\n\n[session_server]\n session_timeout = 1800\n\n[[runners]]\n name = \"my_gitlab_runner\"\n url = \"https://example.gitlab.com\"\n token = \"%v\"\n executor = \"docker\"\n\n [runners.custom_build_dir]\n [runners.cache]\n [runners.cache.s3]\n [runners.cache.gcs]\n [runners.cache.azure]\n [runners.docker]\n tls_verify = false\n image = \"ubuntu\"\n privileged = true\n disable_entrypoint_overwrite = false\n oom_kill_disable = false\n disable_cache = false\n volumes = [\"/cache\", \"/certs/client\"]\n shm_size = 0\n`, token), nil\n\t\t}).(pulumi.StringOutput)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.UserRunner;\nimport com.pulumi.gitlab.UserRunnerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a project runner\n var projectRunner = new UserRunner(\"projectRunner\", UserRunnerArgs.builder()\n .runnerType(\"project_type\")\n .projectId(123456)\n .description(\"A runner created using a user access token instead of a registration token\")\n .tagLists( \n \"a-tag\",\n \"other-tag\")\n .untagged(true)\n .build());\n\n // Create a group runner\n var groupRunner = new UserRunner(\"groupRunner\", UserRunnerArgs.builder()\n .runnerType(\"group_type\")\n .groupId(123456)\n .build());\n\n // Create a instance runner\n var instanceRunner = new UserRunner(\"instanceRunner\", UserRunnerArgs.builder()\n .runnerType(\"instance_type\")\n .build());\n\n final var configToml = groupRunner.token().applyValue(token -\u003e \"\"\"\nconcurrent = 1\ncheck_interval = 0\n\n[session_server]\n session_timeout = 1800\n\n[[runners]]\n name = \"my_gitlab_runner\"\n url = \"https://example.gitlab.com\"\n token = \"%s\"\n executor = \"docker\"\n\n [runners.custom_build_dir]\n [runners.cache]\n [runners.cache.s3]\n [runners.cache.gcs]\n [runners.cache.azure]\n [runners.docker]\n tls_verify = false\n image = \"ubuntu\"\n privileged = true\n disable_entrypoint_overwrite = false\n oom_kill_disable = false\n disable_cache = false\n volumes = [\"/cache\", \"/certs/client\"]\n shm_size = 0\n\", token));\n\n }\n}\n```\n```yaml\nresources:\n # Create a project runner\n projectRunner:\n type: gitlab:UserRunner\n name: project_runner\n properties:\n runnerType: project_type\n projectId: 123456\n description: A runner created using a user access token instead of a registration token\n tagLists:\n - a-tag\n - other-tag\n untagged: true\n # Create a group runner\n groupRunner:\n type: gitlab:UserRunner\n name: group_runner\n properties:\n runnerType: group_type\n groupId: 123456 # populate other attributes...\n # Create a instance runner\n instanceRunner:\n type: gitlab:UserRunner\n name: instance_runner\n properties:\n runnerType: instance_type\nvariables:\n configToml: |\n concurrent = 1\n check_interval = 0\n\n [session_server]\n session_timeout = 1800\n\n [[runners]]\n name = \"my_gitlab_runner\"\n url = \"https://example.gitlab.com\"\n token = \"${groupRunner.token}\"\n executor = \"docker\"\n\n [runners.custom_build_dir]\n [runners.cache]\n [runners.cache.s3]\n [runners.cache.gcs]\n [runners.cache.azure]\n [runners.docker]\n tls_verify = false\n image = \"ubuntu\"\n privileged = true\n disable_entrypoint_overwrite = false\n oom_kill_disable = false\n disable_cache = false\n volumes = [\"/cache\", \"/certs/client\"]\n shm_size = 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a gitlab runner using its ID\n\nNote: Importing a runner will not provide access to the `token` attribute\n\n```sh\n$ pulumi import gitlab:index/userRunner:UserRunner example 12345\n```\n\n", "properties": { "accessLevel": { "type": "string", @@ -20362,7 +20736,7 @@ } }, "gitlab:index/userSshKey:UserSshKey": { - "description": "The `gitlab.UserSshKey` resource allows to manage the lifecycle of an SSH key assigned to a user.\n\n**Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/users.html#single-ssh-key)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getUser({\n username: \"example-user\",\n});\nconst exampleUserSshKey = new gitlab.UserSshKey(\"example\", {\n userId: example.then(example =\u003e example.id),\n title: \"example-key\",\n key: \"ssh-ed25519 AAAA...\",\n expiresAt: \"2016-01-21T00:00:00.000Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_user(username=\"example-user\")\nexample_user_ssh_key = gitlab.UserSshKey(\"example\",\n user_id=example.id,\n title=\"example-key\",\n key=\"ssh-ed25519 AAAA...\",\n expires_at=\"2016-01-21T00:00:00.000Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetUser.Invoke(new()\n {\n Username = \"example-user\",\n });\n\n var exampleUserSshKey = new GitLab.UserSshKey(\"example\", new()\n {\n UserId = example.Apply(getUserResult =\u003e getUserResult.Id),\n Title = \"example-key\",\n Key = \"ssh-ed25519 AAAA...\",\n ExpiresAt = \"2016-01-21T00:00:00.000Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.LookupUser(ctx, \u0026gitlab.LookupUserArgs{\n\t\t\tUsername: pulumi.StringRef(\"example-user\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewUserSshKey(ctx, \"example\", \u0026gitlab.UserSshKeyArgs{\n\t\t\tUserId: pulumi.String(example.Id),\n\t\t\tTitle: pulumi.String(\"example-key\"),\n\t\t\tKey: pulumi.String(\"ssh-ed25519 AAAA...\"),\n\t\t\tExpiresAt: pulumi.String(\"2016-01-21T00:00:00.000Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetUserArgs;\nimport com.pulumi.gitlab.UserSshKey;\nimport com.pulumi.gitlab.UserSshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getUser(GetUserArgs.builder()\n .username(\"example-user\")\n .build());\n\n var exampleUserSshKey = new UserSshKey(\"exampleUserSshKey\", UserSshKeyArgs.builder()\n .userId(example.applyValue(getUserResult -\u003e getUserResult.id()))\n .title(\"example-key\")\n .key(\"ssh-ed25519 AAAA...\")\n .expiresAt(\"2016-01-21T00:00:00.000Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleUserSshKey:\n type: gitlab:UserSshKey\n name: example\n properties:\n userId: ${example.id}\n title: example-key\n key: ssh-ed25519 AAAA...\n expiresAt: 2016-01-21T00:00:00.000Z\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getUser\n Arguments:\n username: example-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a user ssh key using an id made up of `{user-id}:{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/userSshKey:UserSshKey example 42:1\n```\n\n", + "description": "The `gitlab.UserSshKey` resource allows to manage the lifecycle of an SSH key assigned to a user.\n\n**Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/users.html#single-ssh-key)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getUser({\n username: \"example-user\",\n});\nconst exampleUserSshKey = new gitlab.UserSshKey(\"example\", {\n userId: example.then(example =\u003e example.id),\n title: \"example-key\",\n key: \"ssh-ed25519 AAAA...\",\n expiresAt: \"2016-01-21T00:00:00.000Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_user(username=\"example-user\")\nexample_user_ssh_key = gitlab.UserSshKey(\"example\",\n user_id=example.id,\n title=\"example-key\",\n key=\"ssh-ed25519 AAAA...\",\n expires_at=\"2016-01-21T00:00:00.000Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetUser.Invoke(new()\n {\n Username = \"example-user\",\n });\n\n var exampleUserSshKey = new GitLab.UserSshKey(\"example\", new()\n {\n UserId = example.Apply(getUserResult =\u003e getUserResult.Id),\n Title = \"example-key\",\n Key = \"ssh-ed25519 AAAA...\",\n ExpiresAt = \"2016-01-21T00:00:00.000Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.LookupUser(ctx, \u0026gitlab.LookupUserArgs{\n\t\t\tUsername: pulumi.StringRef(\"example-user\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.NewUserSshKey(ctx, \"example\", \u0026gitlab.UserSshKeyArgs{\n\t\t\tUserId: pulumi.String(example.Id),\n\t\t\tTitle: pulumi.String(\"example-key\"),\n\t\t\tKey: pulumi.String(\"ssh-ed25519 AAAA...\"),\n\t\t\tExpiresAt: pulumi.String(\"2016-01-21T00:00:00.000Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetUserArgs;\nimport com.pulumi.gitlab.UserSshKey;\nimport com.pulumi.gitlab.UserSshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getUser(GetUserArgs.builder()\n .username(\"example-user\")\n .build());\n\n var exampleUserSshKey = new UserSshKey(\"exampleUserSshKey\", UserSshKeyArgs.builder()\n .userId(example.applyValue(getUserResult -\u003e getUserResult.id()))\n .title(\"example-key\")\n .key(\"ssh-ed25519 AAAA...\")\n .expiresAt(\"2016-01-21T00:00:00.000Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleUserSshKey:\n type: gitlab:UserSshKey\n name: example\n properties:\n userId: ${example.id}\n title: example-key\n key: ssh-ed25519 AAAA...\n expiresAt: 2016-01-21T00:00:00.000Z\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getUser\n Arguments:\n username: example-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import a user ssh key using an id made up of `{user-id}:{key}`, e.g.\n\n```sh\n$ pulumi import gitlab:index/userSshKey:UserSshKey example 42:1\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -20594,7 +20968,7 @@ } }, "gitlab:index/getClusterAgent:getClusterAgent": { - "description": "The `gitlab.ClusterAgent` data source allows to retrieve details about a GitLab Agent for Kubernetes.\n\n\u003e Requires at least GitLab 14.10\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/cluster_agents.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getClusterAgent({\n project: \"12345\",\n agentId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_cluster_agent(project=\"12345\",\n agent_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetClusterAgent.Invoke(new()\n {\n Project = \"12345\",\n AgentId = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupClusterAgent(ctx, \u0026gitlab.LookupClusterAgentArgs{\n\t\t\tProject: \"12345\",\n\t\t\tAgentId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetClusterAgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getClusterAgent(GetClusterAgentArgs.builder()\n .project(\"12345\")\n .agentId(1)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getClusterAgent\n Arguments:\n project: '12345'\n agentId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.ClusterAgent` data source allows to retrieve details about a GitLab Agent for Kubernetes.\n\n\u003e Requires at least GitLab 14.10\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/cluster_agents.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getClusterAgent({\n project: \"12345\",\n agentId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_cluster_agent(project=\"12345\",\n agent_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetClusterAgent.Invoke(new()\n {\n Project = \"12345\",\n AgentId = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupClusterAgent(ctx, \u0026gitlab.LookupClusterAgentArgs{\n\t\t\tProject: \"12345\",\n\t\t\tAgentId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetClusterAgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getClusterAgent(GetClusterAgentArgs.builder()\n .project(\"12345\")\n .agentId(1)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getClusterAgent\n Arguments:\n project: '12345'\n agentId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterAgent.\n", "properties": { @@ -20653,7 +21027,7 @@ } }, "gitlab:index/getClusterAgents:getClusterAgents": { - "description": "The `gitlab.getClusterAgents` data source allows details of GitLab Agents for Kubernetes in a project.\n\n\u003e Requires at least GitLab 14.10\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/cluster_agents.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst agents = gitlab.getClusterAgents({\n project: \"12345\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nagents = gitlab.get_cluster_agents(project=\"12345\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var agents = GitLab.GetClusterAgents.Invoke(new()\n {\n Project = \"12345\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetClusterAgents(ctx, \u0026gitlab.GetClusterAgentsArgs{\n\t\t\tProject: \"12345\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetClusterAgentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var agents = GitlabFunctions.getClusterAgents(GetClusterAgentsArgs.builder()\n .project(\"12345\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n agents:\n fn::invoke:\n Function: gitlab:getClusterAgents\n Arguments:\n project: '12345'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getClusterAgents` data source allows details of GitLab Agents for Kubernetes in a project.\n\n\u003e Requires at least GitLab 14.10\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/cluster_agents.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst agents = gitlab.getClusterAgents({\n project: \"12345\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nagents = gitlab.get_cluster_agents(project=\"12345\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var agents = GitLab.GetClusterAgents.Invoke(new()\n {\n Project = \"12345\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetClusterAgents(ctx, \u0026gitlab.GetClusterAgentsArgs{\n\t\t\tProject: \"12345\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetClusterAgentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var agents = GitlabFunctions.getClusterAgents(GetClusterAgentsArgs.builder()\n .project(\"12345\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n agents:\n fn::invoke:\n Function: gitlab:getClusterAgents\n Arguments:\n project: '12345'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterAgents.\n", "properties": { @@ -20695,7 +21069,7 @@ } }, "gitlab:index/getComplianceFramework:getComplianceFramework": { - "description": "The `gitlab.ComplianceFramework` data source allows details of a compliance framework to be retrieved by its name and the namespace it belongs to.\n\n**Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/ee/api/graphql/reference/#querynamespace)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getComplianceFramework({\n namespacePath: \"top-level-group\",\n name: \"HIPAA\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_compliance_framework(namespace_path=\"top-level-group\",\n name=\"HIPAA\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetComplianceFramework.Invoke(new()\n {\n NamespacePath = \"top-level-group\",\n Name = \"HIPAA\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupComplianceFramework(ctx, \u0026gitlab.LookupComplianceFrameworkArgs{\n\t\t\tNamespacePath: \"top-level-group\",\n\t\t\tName: \"HIPAA\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetComplianceFrameworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getComplianceFramework(GetComplianceFrameworkArgs.builder()\n .namespacePath(\"top-level-group\")\n .name(\"HIPAA\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getComplianceFramework\n Arguments:\n namespacePath: top-level-group\n name: HIPAA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.ComplianceFramework` data source allows details of a compliance framework to be retrieved by its name and the namespace it belongs to.\n\n**Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/ee/api/graphql/reference/#querynamespace)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getComplianceFramework({\n namespacePath: \"top-level-group\",\n name: \"HIPAA\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_compliance_framework(namespace_path=\"top-level-group\",\n name=\"HIPAA\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetComplianceFramework.Invoke(new()\n {\n NamespacePath = \"top-level-group\",\n Name = \"HIPAA\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupComplianceFramework(ctx, \u0026gitlab.LookupComplianceFrameworkArgs{\n\t\t\tNamespacePath: \"top-level-group\",\n\t\t\tName: \"HIPAA\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetComplianceFrameworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getComplianceFramework(GetComplianceFrameworkArgs.builder()\n .namespacePath(\"top-level-group\")\n .name(\"HIPAA\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getComplianceFramework\n Arguments:\n namespacePath: top-level-group\n name: HIPAA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getComplianceFramework.\n", "properties": { @@ -20763,7 +21137,7 @@ } }, "gitlab:index/getCurrentUser:getCurrentUser": { - "description": "The `gitlab.getCurrentUser` data source allows details of the current user (determined by `token` provider attribute) to be retrieved.\n\n**Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/ee/api/graphql/reference/index.html#querycurrentuser)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getCurrentUser({});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_current_user()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetCurrentUser.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetCurrentUser(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getCurrentUser();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getCurrentUser\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getCurrentUser` data source allows details of the current user (determined by `token` provider attribute) to be retrieved.\n\n**Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/ee/api/graphql/reference/index.html#querycurrentuser)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getCurrentUser({});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_current_user()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetCurrentUser.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetCurrentUser(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getCurrentUser();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getCurrentUser\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getCurrentUser.\n", "properties": { @@ -21199,7 +21573,7 @@ } }, "gitlab:index/getGroupSubgroups:getGroupSubgroups": { - "description": "The `gitlab.getGroupSubgroups` data source allows to get subgroups of a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#list-a-groups-subgroups)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nexport = async () =\u003e {\n const subgroups = await gitlab.getGroupSubgroups({\n groupId: 123456,\n });\n return {\n subgroups: subgroups,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nsubgroups = gitlab.get_group_subgroups(group_id=123456)\npulumi.export(\"subgroups\", subgroups)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subgroups = GitLab.GetGroupSubgroups.Invoke(new()\n {\n GroupId = 123456,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"subgroups\"] = subgroups,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubgroups, err := gitlab.GetGroupSubgroups(ctx, \u0026gitlab.GetGroupSubgroupsArgs{\n\t\t\tGroupId: 123456,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"subgroups\", subgroups)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetGroupSubgroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var subgroups = GitlabFunctions.getGroupSubgroups(GetGroupSubgroupsArgs.builder()\n .groupId(\"123456\")\n .build());\n\n ctx.export(\"subgroups\", subgroups.applyValue(getGroupSubgroupsResult -\u003e getGroupSubgroupsResult));\n }\n}\n```\n```yaml\nvariables:\n subgroups:\n fn::invoke:\n Function: gitlab:getGroupSubgroups\n Arguments:\n groupId: '123456'\noutputs:\n subgroups: ${subgroups}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getGroupSubgroups` data source allows to get subgroups of a group.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#list-a-groups-subgroups)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nexport = async () =\u003e {\n const subgroups = await gitlab.getGroupSubgroups({\n groupId: 123456,\n });\n return {\n subgroups: subgroups,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nsubgroups = gitlab.get_group_subgroups(group_id=123456)\npulumi.export(\"subgroups\", subgroups)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subgroups = GitLab.GetGroupSubgroups.Invoke(new()\n {\n GroupId = 123456,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"subgroups\"] = subgroups,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubgroups, err := gitlab.GetGroupSubgroups(ctx, \u0026gitlab.GetGroupSubgroupsArgs{\n\t\t\tGroupId: 123456,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"subgroups\", subgroups)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetGroupSubgroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var subgroups = GitlabFunctions.getGroupSubgroups(GetGroupSubgroupsArgs.builder()\n .groupId(\"123456\")\n .build());\n\n ctx.export(\"subgroups\", subgroups.applyValue(getGroupSubgroupsResult -\u003e getGroupSubgroupsResult));\n }\n}\n```\n```yaml\nvariables:\n subgroups:\n fn::invoke:\n Function: gitlab:getGroupSubgroups\n Arguments:\n groupId: '123456'\noutputs:\n subgroups: ${subgroups}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGroupSubgroups.\n", "properties": { @@ -21328,7 +21702,7 @@ } }, "gitlab:index/getGroupVariable:getGroupVariable": { - "description": "The `gitlab.GroupVariable` data source allows to retrieve details about a group-level CI/CD variable.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/group_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = gitlab.getGroupVariable({\n group: \"my/example/group\",\n key: \"foo\",\n});\n// Using an environment scope\nconst bar = gitlab.getGroupVariable({\n group: \"my/example/group\",\n key: \"bar\",\n environmentScope: \"staging/*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.get_group_variable(group=\"my/example/group\",\n key=\"foo\")\n# Using an environment scope\nbar = gitlab.get_group_variable(group=\"my/example/group\",\n key=\"bar\",\n environment_scope=\"staging/*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = GitLab.GetGroupVariable.Invoke(new()\n {\n Group = \"my/example/group\",\n Key = \"foo\",\n });\n\n // Using an environment scope\n var bar = GitLab.GetGroupVariable.Invoke(new()\n {\n Group = \"my/example/group\",\n Key = \"bar\",\n EnvironmentScope = \"staging/*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupGroupVariable(ctx, \u0026gitlab.LookupGroupVariableArgs{\n\t\t\tGroup: \"my/example/group\",\n\t\t\tKey: \"foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using an environment scope\n\t\t_, err = gitlab.LookupGroupVariable(ctx, \u0026gitlab.LookupGroupVariableArgs{\n\t\t\tGroup: \"my/example/group\",\n\t\t\tKey: \"bar\",\n\t\t\tEnvironmentScope: pulumi.StringRef(\"staging/*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetGroupVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = GitlabFunctions.getGroupVariable(GetGroupVariableArgs.builder()\n .group(\"my/example/group\")\n .key(\"foo\")\n .build());\n\n // Using an environment scope\n final var bar = GitlabFunctions.getGroupVariable(GetGroupVariableArgs.builder()\n .group(\"my/example/group\")\n .key(\"bar\")\n .environmentScope(\"staging/*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: gitlab:getGroupVariable\n Arguments:\n group: my/example/group\n key: foo\n # Using an environment scope\n bar:\n fn::invoke:\n Function: gitlab:getGroupVariable\n Arguments:\n group: my/example/group\n key: bar\n environmentScope: staging/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.GroupVariable` data source allows to retrieve details about a group-level CI/CD variable.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/group_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = gitlab.getGroupVariable({\n group: \"my/example/group\",\n key: \"foo\",\n});\n// Using an environment scope\nconst bar = gitlab.getGroupVariable({\n group: \"my/example/group\",\n key: \"bar\",\n environmentScope: \"staging/*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.get_group_variable(group=\"my/example/group\",\n key=\"foo\")\n# Using an environment scope\nbar = gitlab.get_group_variable(group=\"my/example/group\",\n key=\"bar\",\n environment_scope=\"staging/*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = GitLab.GetGroupVariable.Invoke(new()\n {\n Group = \"my/example/group\",\n Key = \"foo\",\n });\n\n // Using an environment scope\n var bar = GitLab.GetGroupVariable.Invoke(new()\n {\n Group = \"my/example/group\",\n Key = \"bar\",\n EnvironmentScope = \"staging/*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupGroupVariable(ctx, \u0026gitlab.LookupGroupVariableArgs{\n\t\t\tGroup: \"my/example/group\",\n\t\t\tKey: \"foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using an environment scope\n\t\t_, err = gitlab.LookupGroupVariable(ctx, \u0026gitlab.LookupGroupVariableArgs{\n\t\t\tGroup: \"my/example/group\",\n\t\t\tKey: \"bar\",\n\t\t\tEnvironmentScope: pulumi.StringRef(\"staging/*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetGroupVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = GitlabFunctions.getGroupVariable(GetGroupVariableArgs.builder()\n .group(\"my/example/group\")\n .key(\"foo\")\n .build());\n\n // Using an environment scope\n final var bar = GitlabFunctions.getGroupVariable(GetGroupVariableArgs.builder()\n .group(\"my/example/group\")\n .key(\"bar\")\n .environmentScope(\"staging/*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: gitlab:getGroupVariable\n Arguments:\n group: my/example/group\n key: foo\n # Using an environment scope\n bar:\n fn::invoke:\n Function: gitlab:getGroupVariable\n Arguments:\n group: my/example/group\n key: bar\n environmentScope: staging/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGroupVariable.\n", "properties": { @@ -21411,7 +21785,7 @@ } }, "gitlab:index/getGroupVariables:getGroupVariables": { - "description": "The `gitlab.getGroupVariables` data source allows to retrieve all group-level CI/CD variables.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/group_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst vars = gitlab.getGroupVariables({\n group: \"my/example/group\",\n});\n// Using an environment scope\nconst stagingVars = gitlab.getGroupVariables({\n group: \"my/example/group\",\n environmentScope: \"staging/*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nvars = gitlab.get_group_variables(group=\"my/example/group\")\n# Using an environment scope\nstaging_vars = gitlab.get_group_variables(group=\"my/example/group\",\n environment_scope=\"staging/*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vars = GitLab.GetGroupVariables.Invoke(new()\n {\n Group = \"my/example/group\",\n });\n\n // Using an environment scope\n var stagingVars = GitLab.GetGroupVariables.Invoke(new()\n {\n Group = \"my/example/group\",\n EnvironmentScope = \"staging/*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetGroupVariables(ctx, \u0026gitlab.GetGroupVariablesArgs{\n\t\t\tGroup: \"my/example/group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using an environment scope\n\t\t_, err = gitlab.GetGroupVariables(ctx, \u0026gitlab.GetGroupVariablesArgs{\n\t\t\tGroup: \"my/example/group\",\n\t\t\tEnvironmentScope: pulumi.StringRef(\"staging/*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetGroupVariablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var vars = GitlabFunctions.getGroupVariables(GetGroupVariablesArgs.builder()\n .group(\"my/example/group\")\n .build());\n\n // Using an environment scope\n final var stagingVars = GitlabFunctions.getGroupVariables(GetGroupVariablesArgs.builder()\n .group(\"my/example/group\")\n .environmentScope(\"staging/*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n vars:\n fn::invoke:\n Function: gitlab:getGroupVariables\n Arguments:\n group: my/example/group\n # Using an environment scope\n stagingVars:\n fn::invoke:\n Function: gitlab:getGroupVariables\n Arguments:\n group: my/example/group\n environmentScope: staging/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getGroupVariables` data source allows to retrieve all group-level CI/CD variables.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/group_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst vars = gitlab.getGroupVariables({\n group: \"my/example/group\",\n});\n// Using an environment scope\nconst stagingVars = gitlab.getGroupVariables({\n group: \"my/example/group\",\n environmentScope: \"staging/*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nvars = gitlab.get_group_variables(group=\"my/example/group\")\n# Using an environment scope\nstaging_vars = gitlab.get_group_variables(group=\"my/example/group\",\n environment_scope=\"staging/*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vars = GitLab.GetGroupVariables.Invoke(new()\n {\n Group = \"my/example/group\",\n });\n\n // Using an environment scope\n var stagingVars = GitLab.GetGroupVariables.Invoke(new()\n {\n Group = \"my/example/group\",\n EnvironmentScope = \"staging/*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetGroupVariables(ctx, \u0026gitlab.GetGroupVariablesArgs{\n\t\t\tGroup: \"my/example/group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using an environment scope\n\t\t_, err = gitlab.GetGroupVariables(ctx, \u0026gitlab.GetGroupVariablesArgs{\n\t\t\tGroup: \"my/example/group\",\n\t\t\tEnvironmentScope: pulumi.StringRef(\"staging/*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetGroupVariablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var vars = GitlabFunctions.getGroupVariables(GetGroupVariablesArgs.builder()\n .group(\"my/example/group\")\n .build());\n\n // Using an environment scope\n final var stagingVars = GitlabFunctions.getGroupVariables(GetGroupVariablesArgs.builder()\n .group(\"my/example/group\")\n .environmentScope(\"staging/*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n vars:\n fn::invoke:\n Function: gitlab:getGroupVariables\n Arguments:\n group: my/example/group\n # Using an environment scope\n stagingVars:\n fn::invoke:\n Function: gitlab:getGroupVariables\n Arguments:\n group: my/example/group\n environmentScope: staging/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGroupVariables.\n", "properties": { @@ -21462,7 +21836,7 @@ } }, "gitlab:index/getGroups:getGroups": { - "description": "The `gitlab.getGroups` data source allows details of multiple groups to be retrieved given some optional filter criteria.\n\n\u003e Some attributes might not be returned depending on if you're an admin or not.\n\n\u003e Some available options require administrator privileges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#list-groups)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getGroups({\n sort: \"desc\",\n orderBy: \"name\",\n});\nconst example-two = gitlab.getGroups({\n search: \"GitLab\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_groups(sort=\"desc\",\n order_by=\"name\")\nexample_two = gitlab.get_groups(search=\"GitLab\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetGroups.Invoke(new()\n {\n Sort = \"desc\",\n OrderBy = \"name\",\n });\n\n var example_two = GitLab.GetGroups.Invoke(new()\n {\n Search = \"GitLab\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetGroups(ctx, \u0026gitlab.GetGroupsArgs{\n\t\t\tSort: pulumi.StringRef(\"desc\"),\n\t\t\tOrderBy: pulumi.StringRef(\"name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.GetGroups(ctx, \u0026gitlab.GetGroupsArgs{\n\t\t\tSearch: pulumi.StringRef(\"GitLab\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getGroups(GetGroupsArgs.builder()\n .sort(\"desc\")\n .orderBy(\"name\")\n .build());\n\n final var example-two = GitlabFunctions.getGroups(GetGroupsArgs.builder()\n .search(\"GitLab\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getGroups\n Arguments:\n sort: desc\n orderBy: name\n example-two:\n fn::invoke:\n Function: gitlab:getGroups\n Arguments:\n search: GitLab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getGroups` data source allows details of multiple groups to be retrieved given some optional filter criteria.\n\n\u003e Some attributes might not be returned depending on if you're an admin or not.\n\n\u003e Some available options require administrator privileges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/groups.html#list-groups)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getGroups({\n sort: \"desc\",\n orderBy: \"name\",\n});\nconst example-two = gitlab.getGroups({\n search: \"GitLab\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_groups(sort=\"desc\",\n order_by=\"name\")\nexample_two = gitlab.get_groups(search=\"GitLab\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetGroups.Invoke(new()\n {\n Sort = \"desc\",\n OrderBy = \"name\",\n });\n\n var example_two = GitLab.GetGroups.Invoke(new()\n {\n Search = \"GitLab\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetGroups(ctx, \u0026gitlab.GetGroupsArgs{\n\t\t\tSort: pulumi.StringRef(\"desc\"),\n\t\t\tOrderBy: pulumi.StringRef(\"name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.GetGroups(ctx, \u0026gitlab.GetGroupsArgs{\n\t\t\tSearch: pulumi.StringRef(\"GitLab\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getGroups(GetGroupsArgs.builder()\n .sort(\"desc\")\n .orderBy(\"name\")\n .build());\n\n final var example-two = GitlabFunctions.getGroups(GetGroupsArgs.builder()\n .search(\"GitLab\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getGroups\n Arguments:\n sort: desc\n orderBy: name\n example-two:\n fn::invoke:\n Function: gitlab:getGroups\n Arguments:\n search: GitLab\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getGroups.\n", "properties": { @@ -21562,7 +21936,7 @@ } }, "gitlab:index/getInstanceVariable:getInstanceVariable": { - "description": "The `gitlab.InstanceVariable` data source allows to retrieve details about an instance-level CI/CD variable.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/instance_level_ci_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = gitlab.getInstanceVariable({\n key: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.get_instance_variable(key=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = GitLab.GetInstanceVariable.Invoke(new()\n {\n Key = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupInstanceVariable(ctx, \u0026gitlab.LookupInstanceVariableArgs{\n\t\t\tKey: \"foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetInstanceVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = GitlabFunctions.getInstanceVariable(GetInstanceVariableArgs.builder()\n .key(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: gitlab:getInstanceVariable\n Arguments:\n key: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.InstanceVariable` data source allows to retrieve details about an instance-level CI/CD variable.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/instance_level_ci_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = gitlab.getInstanceVariable({\n key: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.get_instance_variable(key=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = GitLab.GetInstanceVariable.Invoke(new()\n {\n Key = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupInstanceVariable(ctx, \u0026gitlab.LookupInstanceVariableArgs{\n\t\t\tKey: \"foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetInstanceVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = GitlabFunctions.getInstanceVariable(GetInstanceVariableArgs.builder()\n .key(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: gitlab:getInstanceVariable\n Arguments:\n key: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstanceVariable.\n", "properties": { @@ -21579,6 +21953,10 @@ "outputs": { "description": "A collection of values returned by getInstanceVariable.\n", "properties": { + "description": { + "description": "The description of the variable. Maximum of 255 characters.\n", + "type": "string" + }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" @@ -21609,6 +21987,7 @@ } }, "required": [ + "description", "key", "masked", "protected", @@ -21621,7 +22000,7 @@ } }, "gitlab:index/getInstanceVariables:getInstanceVariables": { - "description": "The `gitlab.getInstanceVariables` data source allows to retrieve all instance-level CI/CD variables.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/instance_level_ci_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst vars = gitlab.getInstanceVariables({});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nvars = gitlab.get_instance_variables()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vars = GitLab.GetInstanceVariables.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetInstanceVariables(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var vars = GitlabFunctions.getInstanceVariables();\n\n }\n}\n```\n```yaml\nvariables:\n vars:\n fn::invoke:\n Function: gitlab:getInstanceVariables\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getInstanceVariables` data source allows to retrieve all instance-level CI/CD variables.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/instance_level_ci_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst vars = gitlab.getInstanceVariables({});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nvars = gitlab.get_instance_variables()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vars = GitLab.GetInstanceVariables.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetInstanceVariables(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var vars = GitlabFunctions.getInstanceVariables();\n\n }\n}\n```\n```yaml\nvariables:\n vars:\n fn::invoke:\n Function: gitlab:getInstanceVariables\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getInstanceVariables.\n", "properties": { @@ -21645,7 +22024,7 @@ } }, "gitlab:index/getMetadata:getMetadata": { - "description": "The `gitlab.getMetadata` data source retrieves the metadata of the GitLab instance.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/metadata.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst this = gitlab.getMetadata({});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nthis = gitlab.get_metadata()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = GitLab.GetMetadata.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetMetadata(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var this = GitlabFunctions.getMetadata();\n\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n Function: gitlab:getMetadata\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getMetadata` data source retrieves the metadata of the GitLab instance.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/metadata.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst this = gitlab.getMetadata({});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nthis = gitlab.get_metadata()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = GitLab.GetMetadata.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetMetadata(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var this = GitlabFunctions.getMetadata();\n\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n Function: gitlab:getMetadata\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getMetadata.\n", "properties": { @@ -21778,11 +22157,6 @@ "description": "A description of the project.\n", "type": "string" }, - "emailsDisabled": { - "deprecationMessage": "Use of `emails_disabled` is deprecated. Use `emails_enabled` instead.", - "description": "Disable email notifications.\n", - "type": "boolean" - }, "emailsEnabled": { "description": "Enable email notifications.\n", "type": "boolean" @@ -22008,7 +22382,6 @@ "containerRegistryAccessLevel", "defaultBranch", "description", - "emailsDisabled", "emailsEnabled", "emptyRepo", "environmentsAccessLevel", @@ -22104,7 +22477,7 @@ } }, "gitlab:index/getProjectHook:getProjectHook": { - "description": "The `gitlab.ProjectHook` data source allows to retrieve details about a hook in a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/projects.html#get-project-hook)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getProject({\n id: \"foo/bar/baz\",\n});\nconst exampleGetProjectHook = example.then(example =\u003e gitlab.getProjectHook({\n project: example.id,\n hookId: 1,\n}));\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_project(id=\"foo/bar/baz\")\nexample_get_project_hook = gitlab.get_project_hook(project=example.id,\n hook_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetProject.Invoke(new()\n {\n Id = \"foo/bar/baz\",\n });\n\n var exampleGetProjectHook = GitLab.GetProjectHook.Invoke(new()\n {\n Project = example.Apply(getProjectResult =\u003e getProjectResult.Id),\n HookId = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.LookupProject(ctx, \u0026gitlab.LookupProjectArgs{\n\t\t\tId: pulumi.StringRef(\"foo/bar/baz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.LookupProjectHook(ctx, \u0026gitlab.LookupProjectHookArgs{\n\t\t\tProject: example.Id,\n\t\t\tHookId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectArgs;\nimport com.pulumi.gitlab.inputs.GetProjectHookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getProject(GetProjectArgs.builder()\n .id(\"foo/bar/baz\")\n .build());\n\n final var exampleGetProjectHook = GitlabFunctions.getProjectHook(GetProjectHookArgs.builder()\n .project(example.applyValue(getProjectResult -\u003e getProjectResult.id()))\n .hookId(1)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getProject\n Arguments:\n id: foo/bar/baz\n exampleGetProjectHook:\n fn::invoke:\n Function: gitlab:getProjectHook\n Arguments:\n project: ${example.id}\n hookId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.ProjectHook` data source allows to retrieve details about a hook in a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/projects.html#get-project-hook)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getProject({\n id: \"foo/bar/baz\",\n});\nconst exampleGetProjectHook = example.then(example =\u003e gitlab.getProjectHook({\n project: example.id,\n hookId: 1,\n}));\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_project(id=\"foo/bar/baz\")\nexample_get_project_hook = gitlab.get_project_hook(project=example.id,\n hook_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetProject.Invoke(new()\n {\n Id = \"foo/bar/baz\",\n });\n\n var exampleGetProjectHook = GitLab.GetProjectHook.Invoke(new()\n {\n Project = example.Apply(getProjectResult =\u003e getProjectResult.Id),\n HookId = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.LookupProject(ctx, \u0026gitlab.LookupProjectArgs{\n\t\t\tId: pulumi.StringRef(\"foo/bar/baz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.LookupProjectHook(ctx, \u0026gitlab.LookupProjectHookArgs{\n\t\t\tProject: example.Id,\n\t\t\tHookId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectArgs;\nimport com.pulumi.gitlab.inputs.GetProjectHookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getProject(GetProjectArgs.builder()\n .id(\"foo/bar/baz\")\n .build());\n\n final var exampleGetProjectHook = GitlabFunctions.getProjectHook(GetProjectHookArgs.builder()\n .project(example.applyValue(getProjectResult -\u003e getProjectResult.id()))\n .hookId(1)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getProject\n Arguments:\n id: foo/bar/baz\n exampleGetProjectHook:\n fn::invoke:\n Function: gitlab:getProjectHook\n Arguments:\n project: ${example.id}\n hookId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProjectHook.\n", "properties": { @@ -22238,7 +22611,7 @@ } }, "gitlab:index/getProjectHooks:getProjectHooks": { - "description": "The `gitlab.getProjectHooks` data source allows to retrieve details about hooks in a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/projects.html#list-project-hooks)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getProject({\n id: \"foo/bar/baz\",\n});\nconst examples = example.then(example =\u003e gitlab.getProjectHooks({\n project: example.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_project(id=\"foo/bar/baz\")\nexamples = gitlab.get_project_hooks(project=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetProject.Invoke(new()\n {\n Id = \"foo/bar/baz\",\n });\n\n var examples = GitLab.GetProjectHooks.Invoke(new()\n {\n Project = example.Apply(getProjectResult =\u003e getProjectResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.LookupProject(ctx, \u0026gitlab.LookupProjectArgs{\n\t\t\tId: pulumi.StringRef(\"foo/bar/baz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.GetProjectHooks(ctx, \u0026gitlab.GetProjectHooksArgs{\n\t\t\tProject: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectArgs;\nimport com.pulumi.gitlab.inputs.GetProjectHooksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getProject(GetProjectArgs.builder()\n .id(\"foo/bar/baz\")\n .build());\n\n final var examples = GitlabFunctions.getProjectHooks(GetProjectHooksArgs.builder()\n .project(example.applyValue(getProjectResult -\u003e getProjectResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getProject\n Arguments:\n id: foo/bar/baz\n examples:\n fn::invoke:\n Function: gitlab:getProjectHooks\n Arguments:\n project: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getProjectHooks` data source allows to retrieve details about hooks in a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/projects.html#list-project-hooks)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getProject({\n id: \"foo/bar/baz\",\n});\nconst examples = example.then(example =\u003e gitlab.getProjectHooks({\n project: example.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_project(id=\"foo/bar/baz\")\nexamples = gitlab.get_project_hooks(project=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetProject.Invoke(new()\n {\n Id = \"foo/bar/baz\",\n });\n\n var examples = GitLab.GetProjectHooks.Invoke(new()\n {\n Project = example.Apply(getProjectResult =\u003e getProjectResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gitlab.LookupProject(ctx, \u0026gitlab.LookupProjectArgs{\n\t\t\tId: pulumi.StringRef(\"foo/bar/baz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.GetProjectHooks(ctx, \u0026gitlab.GetProjectHooksArgs{\n\t\t\tProject: example.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectArgs;\nimport com.pulumi.gitlab.inputs.GetProjectHooksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getProject(GetProjectArgs.builder()\n .id(\"foo/bar/baz\")\n .build());\n\n final var examples = GitlabFunctions.getProjectHooks(GetProjectHooksArgs.builder()\n .project(example.applyValue(getProjectResult -\u003e getProjectResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getProject\n Arguments:\n id: foo/bar/baz\n examples:\n fn::invoke:\n Function: gitlab:getProjectHooks\n Arguments:\n project: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProjectHooks.\n", "properties": { @@ -22280,7 +22653,7 @@ } }, "gitlab:index/getProjectIssue:getProjectIssue": { - "description": "The `gitlab.ProjectIssue` data source allows to retrieve details about an issue in a project.\n\n**Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/issues.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = gitlab.getProject({\n pathWithNamespace: \"foo/bar/baz\",\n});\nconst welcomeIssue = foo.then(foo =\u003e gitlab.getProjectIssue({\n project: foo.id,\n iid: 1,\n}));\nexport const welcomeIssueWebUrl = webUrl;\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.get_project(path_with_namespace=\"foo/bar/baz\")\nwelcome_issue = gitlab.get_project_issue(project=foo.id,\n iid=1)\npulumi.export(\"welcomeIssueWebUrl\", web_url)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = GitLab.GetProject.Invoke(new()\n {\n PathWithNamespace = \"foo/bar/baz\",\n });\n\n var welcomeIssue = GitLab.GetProjectIssue.Invoke(new()\n {\n Project = foo.Apply(getProjectResult =\u003e getProjectResult.Id),\n Iid = 1,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"welcomeIssueWebUrl\"] = webUrl,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.LookupProject(ctx, \u0026gitlab.LookupProjectArgs{\n\t\t\tPathWithNamespace: pulumi.StringRef(\"foo/bar/baz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.LookupProjectIssue(ctx, \u0026gitlab.LookupProjectIssueArgs{\n\t\t\tProject: foo.Id,\n\t\t\tIid: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"welcomeIssueWebUrl\", webUrl)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectArgs;\nimport com.pulumi.gitlab.inputs.GetProjectIssueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = GitlabFunctions.getProject(GetProjectArgs.builder()\n .pathWithNamespace(\"foo/bar/baz\")\n .build());\n\n final var welcomeIssue = GitlabFunctions.getProjectIssue(GetProjectIssueArgs.builder()\n .project(foo.applyValue(getProjectResult -\u003e getProjectResult.id()))\n .iid(1)\n .build());\n\n ctx.export(\"welcomeIssueWebUrl\", webUrl);\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: gitlab:getProject\n Arguments:\n pathWithNamespace: foo/bar/baz\n welcomeIssue:\n fn::invoke:\n Function: gitlab:getProjectIssue\n Arguments:\n project: ${foo.id}\n iid: 1\noutputs:\n welcomeIssueWebUrl: ${webUrl}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.ProjectIssue` data source allows to retrieve details about an issue in a project.\n\n**Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/issues.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = gitlab.getProject({\n pathWithNamespace: \"foo/bar/baz\",\n});\nconst welcomeIssue = foo.then(foo =\u003e gitlab.getProjectIssue({\n project: foo.id,\n iid: 1,\n}));\nexport const welcomeIssueWebUrl = webUrl;\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.get_project(path_with_namespace=\"foo/bar/baz\")\nwelcome_issue = gitlab.get_project_issue(project=foo.id,\n iid=1)\npulumi.export(\"welcomeIssueWebUrl\", web_url)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = GitLab.GetProject.Invoke(new()\n {\n PathWithNamespace = \"foo/bar/baz\",\n });\n\n var welcomeIssue = GitLab.GetProjectIssue.Invoke(new()\n {\n Project = foo.Apply(getProjectResult =\u003e getProjectResult.Id),\n Iid = 1,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"welcomeIssueWebUrl\"] = webUrl,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.LookupProject(ctx, \u0026gitlab.LookupProjectArgs{\n\t\t\tPathWithNamespace: pulumi.StringRef(\"foo/bar/baz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.LookupProjectIssue(ctx, \u0026gitlab.LookupProjectIssueArgs{\n\t\t\tProject: foo.Id,\n\t\t\tIid: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"welcomeIssueWebUrl\", webUrl)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectArgs;\nimport com.pulumi.gitlab.inputs.GetProjectIssueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = GitlabFunctions.getProject(GetProjectArgs.builder()\n .pathWithNamespace(\"foo/bar/baz\")\n .build());\n\n final var welcomeIssue = GitlabFunctions.getProjectIssue(GetProjectIssueArgs.builder()\n .project(foo.applyValue(getProjectResult -\u003e getProjectResult.id()))\n .iid(1)\n .build());\n\n ctx.export(\"welcomeIssueWebUrl\", webUrl);\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: gitlab:getProject\n Arguments:\n pathWithNamespace: foo/bar/baz\n welcomeIssue:\n fn::invoke:\n Function: gitlab:getProjectIssue\n Arguments:\n project: ${foo.id}\n iid: 1\noutputs:\n welcomeIssueWebUrl: ${webUrl}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProjectIssue.\n", "properties": { @@ -22524,7 +22897,7 @@ } }, "gitlab:index/getProjectIssues:getProjectIssues": { - "description": "The `gitlab.getProjectIssues` data source allows to retrieve details about issues in a project.\n\n**Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/issues.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = gitlab.getProject({\n id: \"foo/bar/baz\",\n});\nconst allWithFoo = foo.then(foo =\u003e gitlab.getProjectIssues({\n project: foo.id,\n search: \"foo\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.get_project(id=\"foo/bar/baz\")\nall_with_foo = gitlab.get_project_issues(project=foo.id,\n search=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = GitLab.GetProject.Invoke(new()\n {\n Id = \"foo/bar/baz\",\n });\n\n var allWithFoo = GitLab.GetProjectIssues.Invoke(new()\n {\n Project = foo.Apply(getProjectResult =\u003e getProjectResult.Id),\n Search = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.LookupProject(ctx, \u0026gitlab.LookupProjectArgs{\n\t\t\tId: pulumi.StringRef(\"foo/bar/baz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.GetProjectIssues(ctx, \u0026gitlab.GetProjectIssuesArgs{\n\t\t\tProject: foo.Id,\n\t\t\tSearch: pulumi.StringRef(\"foo\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectArgs;\nimport com.pulumi.gitlab.inputs.GetProjectIssuesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = GitlabFunctions.getProject(GetProjectArgs.builder()\n .id(\"foo/bar/baz\")\n .build());\n\n final var allWithFoo = GitlabFunctions.getProjectIssues(GetProjectIssuesArgs.builder()\n .project(foo.applyValue(getProjectResult -\u003e getProjectResult.id()))\n .search(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: gitlab:getProject\n Arguments:\n id: foo/bar/baz\n allWithFoo:\n fn::invoke:\n Function: gitlab:getProjectIssues\n Arguments:\n project: ${foo.id}\n search: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getProjectIssues` data source allows to retrieve details about issues in a project.\n\n**Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/issues.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = gitlab.getProject({\n id: \"foo/bar/baz\",\n});\nconst allWithFoo = foo.then(foo =\u003e gitlab.getProjectIssues({\n project: foo.id,\n search: \"foo\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.get_project(id=\"foo/bar/baz\")\nall_with_foo = gitlab.get_project_issues(project=foo.id,\n search=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = GitLab.GetProject.Invoke(new()\n {\n Id = \"foo/bar/baz\",\n });\n\n var allWithFoo = GitLab.GetProjectIssues.Invoke(new()\n {\n Project = foo.Apply(getProjectResult =\u003e getProjectResult.Id),\n Search = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := gitlab.LookupProject(ctx, \u0026gitlab.LookupProjectArgs{\n\t\t\tId: pulumi.StringRef(\"foo/bar/baz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.GetProjectIssues(ctx, \u0026gitlab.GetProjectIssuesArgs{\n\t\t\tProject: foo.Id,\n\t\t\tSearch: pulumi.StringRef(\"foo\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectArgs;\nimport com.pulumi.gitlab.inputs.GetProjectIssuesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = GitlabFunctions.getProject(GetProjectArgs.builder()\n .id(\"foo/bar/baz\")\n .build());\n\n final var allWithFoo = GitlabFunctions.getProjectIssues(GetProjectIssuesArgs.builder()\n .project(foo.applyValue(getProjectResult -\u003e getProjectResult.id()))\n .search(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: gitlab:getProject\n Arguments:\n id: foo/bar/baz\n allWithFoo:\n fn::invoke:\n Function: gitlab:getProjectIssues\n Arguments:\n project: ${foo.id}\n search: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProjectIssues.\n", "properties": { @@ -23325,7 +23698,7 @@ } }, "gitlab:index/getProjectVariable:getProjectVariable": { - "description": "The `gitlab.ProjectVariable` data source allows to retrieve details about a project-level CI/CD variable.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = gitlab.getProjectVariable({\n project: \"my/example/project\",\n key: \"foo\",\n});\n// Using an environment scope\nconst bar = gitlab.getProjectVariable({\n project: \"my/example/project\",\n key: \"bar\",\n environmentScope: \"staging/*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.get_project_variable(project=\"my/example/project\",\n key=\"foo\")\n# Using an environment scope\nbar = gitlab.get_project_variable(project=\"my/example/project\",\n key=\"bar\",\n environment_scope=\"staging/*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = GitLab.GetProjectVariable.Invoke(new()\n {\n Project = \"my/example/project\",\n Key = \"foo\",\n });\n\n // Using an environment scope\n var bar = GitLab.GetProjectVariable.Invoke(new()\n {\n Project = \"my/example/project\",\n Key = \"bar\",\n EnvironmentScope = \"staging/*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupProjectVariable(ctx, \u0026gitlab.LookupProjectVariableArgs{\n\t\t\tProject: \"my/example/project\",\n\t\t\tKey: \"foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using an environment scope\n\t\t_, err = gitlab.LookupProjectVariable(ctx, \u0026gitlab.LookupProjectVariableArgs{\n\t\t\tProject: \"my/example/project\",\n\t\t\tKey: \"bar\",\n\t\t\tEnvironmentScope: pulumi.StringRef(\"staging/*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = GitlabFunctions.getProjectVariable(GetProjectVariableArgs.builder()\n .project(\"my/example/project\")\n .key(\"foo\")\n .build());\n\n // Using an environment scope\n final var bar = GitlabFunctions.getProjectVariable(GetProjectVariableArgs.builder()\n .project(\"my/example/project\")\n .key(\"bar\")\n .environmentScope(\"staging/*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: gitlab:getProjectVariable\n Arguments:\n project: my/example/project\n key: foo\n # Using an environment scope\n bar:\n fn::invoke:\n Function: gitlab:getProjectVariable\n Arguments:\n project: my/example/project\n key: bar\n environmentScope: staging/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.ProjectVariable` data source allows to retrieve details about a project-level CI/CD variable.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst foo = gitlab.getProjectVariable({\n project: \"my/example/project\",\n key: \"foo\",\n});\n// Using an environment scope\nconst bar = gitlab.getProjectVariable({\n project: \"my/example/project\",\n key: \"bar\",\n environmentScope: \"staging/*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nfoo = gitlab.get_project_variable(project=\"my/example/project\",\n key=\"foo\")\n# Using an environment scope\nbar = gitlab.get_project_variable(project=\"my/example/project\",\n key=\"bar\",\n environment_scope=\"staging/*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = GitLab.GetProjectVariable.Invoke(new()\n {\n Project = \"my/example/project\",\n Key = \"foo\",\n });\n\n // Using an environment scope\n var bar = GitLab.GetProjectVariable.Invoke(new()\n {\n Project = \"my/example/project\",\n Key = \"bar\",\n EnvironmentScope = \"staging/*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupProjectVariable(ctx, \u0026gitlab.LookupProjectVariableArgs{\n\t\t\tProject: \"my/example/project\",\n\t\t\tKey: \"foo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using an environment scope\n\t\t_, err = gitlab.LookupProjectVariable(ctx, \u0026gitlab.LookupProjectVariableArgs{\n\t\t\tProject: \"my/example/project\",\n\t\t\tKey: \"bar\",\n\t\t\tEnvironmentScope: pulumi.StringRef(\"staging/*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = GitlabFunctions.getProjectVariable(GetProjectVariableArgs.builder()\n .project(\"my/example/project\")\n .key(\"foo\")\n .build());\n\n // Using an environment scope\n final var bar = GitlabFunctions.getProjectVariable(GetProjectVariableArgs.builder()\n .project(\"my/example/project\")\n .key(\"bar\")\n .environmentScope(\"staging/*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: gitlab:getProjectVariable\n Arguments:\n project: my/example/project\n key: foo\n # Using an environment scope\n bar:\n fn::invoke:\n Function: gitlab:getProjectVariable\n Arguments:\n project: my/example/project\n key: bar\n environmentScope: staging/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProjectVariable.\n", "properties": { @@ -23408,7 +23781,7 @@ } }, "gitlab:index/getProjectVariables:getProjectVariables": { - "description": "The `gitlab.getProjectVariables` data source allows to retrieve all project-level CI/CD variables.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst vars = gitlab.getProjectVariables({\n project: \"my/example/project\",\n});\n// Using an environment scope\nconst stagingVars = gitlab.getProjectVariables({\n project: \"my/example/project\",\n environmentScope: \"staging/*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nvars = gitlab.get_project_variables(project=\"my/example/project\")\n# Using an environment scope\nstaging_vars = gitlab.get_project_variables(project=\"my/example/project\",\n environment_scope=\"staging/*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vars = GitLab.GetProjectVariables.Invoke(new()\n {\n Project = \"my/example/project\",\n });\n\n // Using an environment scope\n var stagingVars = GitLab.GetProjectVariables.Invoke(new()\n {\n Project = \"my/example/project\",\n EnvironmentScope = \"staging/*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetProjectVariables(ctx, \u0026gitlab.GetProjectVariablesArgs{\n\t\t\tProject: \"my/example/project\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using an environment scope\n\t\t_, err = gitlab.GetProjectVariables(ctx, \u0026gitlab.GetProjectVariablesArgs{\n\t\t\tProject: \"my/example/project\",\n\t\t\tEnvironmentScope: pulumi.StringRef(\"staging/*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectVariablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var vars = GitlabFunctions.getProjectVariables(GetProjectVariablesArgs.builder()\n .project(\"my/example/project\")\n .build());\n\n // Using an environment scope\n final var stagingVars = GitlabFunctions.getProjectVariables(GetProjectVariablesArgs.builder()\n .project(\"my/example/project\")\n .environmentScope(\"staging/*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n vars:\n fn::invoke:\n Function: gitlab:getProjectVariables\n Arguments:\n project: my/example/project\n # Using an environment scope\n stagingVars:\n fn::invoke:\n Function: gitlab:getProjectVariables\n Arguments:\n project: my/example/project\n environmentScope: staging/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getProjectVariables` data source allows to retrieve all project-level CI/CD variables.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_level_variables.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst vars = gitlab.getProjectVariables({\n project: \"my/example/project\",\n});\n// Using an environment scope\nconst stagingVars = gitlab.getProjectVariables({\n project: \"my/example/project\",\n environmentScope: \"staging/*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nvars = gitlab.get_project_variables(project=\"my/example/project\")\n# Using an environment scope\nstaging_vars = gitlab.get_project_variables(project=\"my/example/project\",\n environment_scope=\"staging/*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vars = GitLab.GetProjectVariables.Invoke(new()\n {\n Project = \"my/example/project\",\n });\n\n // Using an environment scope\n var stagingVars = GitLab.GetProjectVariables.Invoke(new()\n {\n Project = \"my/example/project\",\n EnvironmentScope = \"staging/*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetProjectVariables(ctx, \u0026gitlab.GetProjectVariablesArgs{\n\t\t\tProject: \"my/example/project\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using an environment scope\n\t\t_, err = gitlab.GetProjectVariables(ctx, \u0026gitlab.GetProjectVariablesArgs{\n\t\t\tProject: \"my/example/project\",\n\t\t\tEnvironmentScope: pulumi.StringRef(\"staging/*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetProjectVariablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var vars = GitlabFunctions.getProjectVariables(GetProjectVariablesArgs.builder()\n .project(\"my/example/project\")\n .build());\n\n // Using an environment scope\n final var stagingVars = GitlabFunctions.getProjectVariables(GetProjectVariablesArgs.builder()\n .project(\"my/example/project\")\n .environmentScope(\"staging/*\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n vars:\n fn::invoke:\n Function: gitlab:getProjectVariables\n Arguments:\n project: my/example/project\n # Using an environment scope\n stagingVars:\n fn::invoke:\n Function: gitlab:getProjectVariables\n Arguments:\n project: my/example/project\n environmentScope: staging/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProjectVariables.\n", "properties": { @@ -23459,7 +23832,7 @@ } }, "gitlab:index/getProjects:getProjects": { - "description": "The `gitlab.getProjects` data source allows details of multiple projects to be retrieved. Optionally filtered by the set attributes.\n\n\u003e This data source supports all available filters exposed by the xanzy/go-gitlab package, which might not expose all available filters exposed by the Gitlab APIs.\n\n\u003e The owner sub-attributes are only populated if the Gitlab token used has an administrator scope.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/projects.html#list-all-projects)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// List projects within a group tree\nconst mygroup = gitlab.getGroup({\n fullPath: \"mygroup\",\n});\nconst groupProjects = mygroup.then(mygroup =\u003e gitlab.getProjects({\n groupId: mygroup.id,\n orderBy: \"name\",\n includeSubgroups: true,\n withShared: false,\n}));\n// List projects using the search syntax\nconst projects = gitlab.getProjects({\n search: \"postgresql\",\n visibility: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# List projects within a group tree\nmygroup = gitlab.get_group(full_path=\"mygroup\")\ngroup_projects = gitlab.get_projects(group_id=mygroup.id,\n order_by=\"name\",\n include_subgroups=True,\n with_shared=False)\n# List projects using the search syntax\nprojects = gitlab.get_projects(search=\"postgresql\",\n visibility=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // List projects within a group tree\n var mygroup = GitLab.GetGroup.Invoke(new()\n {\n FullPath = \"mygroup\",\n });\n\n var groupProjects = GitLab.GetProjects.Invoke(new()\n {\n GroupId = mygroup.Apply(getGroupResult =\u003e getGroupResult.Id),\n OrderBy = \"name\",\n IncludeSubgroups = true,\n WithShared = false,\n });\n\n // List projects using the search syntax\n var projects = GitLab.GetProjects.Invoke(new()\n {\n Search = \"postgresql\",\n Visibility = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// List projects within a group tree\n\t\tmygroup, err := gitlab.LookupGroup(ctx, \u0026gitlab.LookupGroupArgs{\n\t\t\tFullPath: pulumi.StringRef(\"mygroup\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.GetProjects(ctx, \u0026gitlab.GetProjectsArgs{\n\t\t\tGroupId: pulumi.IntRef(mygroup.Id),\n\t\t\tOrderBy: pulumi.StringRef(\"name\"),\n\t\t\tIncludeSubgroups: pulumi.BoolRef(true),\n\t\t\tWithShared: pulumi.BoolRef(false),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// List projects using the search syntax\n\t\t_, err = gitlab.GetProjects(ctx, \u0026gitlab.GetProjectsArgs{\n\t\t\tSearch: pulumi.StringRef(\"postgresql\"),\n\t\t\tVisibility: pulumi.StringRef(\"private\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetGroupArgs;\nimport com.pulumi.gitlab.inputs.GetProjectsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // List projects within a group tree\n final var mygroup = GitlabFunctions.getGroup(GetGroupArgs.builder()\n .fullPath(\"mygroup\")\n .build());\n\n final var groupProjects = GitlabFunctions.getProjects(GetProjectsArgs.builder()\n .groupId(mygroup.applyValue(getGroupResult -\u003e getGroupResult.id()))\n .orderBy(\"name\")\n .includeSubgroups(true)\n .withShared(false)\n .build());\n\n // List projects using the search syntax\n final var projects = GitlabFunctions.getProjects(GetProjectsArgs.builder()\n .search(\"postgresql\")\n .visibility(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # List projects within a group tree\n mygroup:\n fn::invoke:\n Function: gitlab:getGroup\n Arguments:\n fullPath: mygroup\n groupProjects:\n fn::invoke:\n Function: gitlab:getProjects\n Arguments:\n groupId: ${mygroup.id}\n orderBy: name\n includeSubgroups: true\n withShared: false\n # List projects using the search syntax\n projects:\n fn::invoke:\n Function: gitlab:getProjects\n Arguments:\n search: postgresql\n visibility: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getProjects` data source allows details of multiple projects to be retrieved. Optionally filtered by the set attributes.\n\n\u003e This data source supports all available filters exposed by the xanzy/go-gitlab package, which might not expose all available filters exposed by the Gitlab APIs.\n\n\u003e The owner sub-attributes are only populated if the Gitlab token used has an administrator scope.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/projects.html#list-all-projects)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// List projects within a group tree\nconst mygroup = gitlab.getGroup({\n fullPath: \"mygroup\",\n});\nconst groupProjects = mygroup.then(mygroup =\u003e gitlab.getProjects({\n groupId: mygroup.id,\n orderBy: \"name\",\n includeSubgroups: true,\n withShared: false,\n}));\n// List projects using the search syntax\nconst projects = gitlab.getProjects({\n search: \"postgresql\",\n visibility: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# List projects within a group tree\nmygroup = gitlab.get_group(full_path=\"mygroup\")\ngroup_projects = gitlab.get_projects(group_id=mygroup.id,\n order_by=\"name\",\n include_subgroups=True,\n with_shared=False)\n# List projects using the search syntax\nprojects = gitlab.get_projects(search=\"postgresql\",\n visibility=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // List projects within a group tree\n var mygroup = GitLab.GetGroup.Invoke(new()\n {\n FullPath = \"mygroup\",\n });\n\n var groupProjects = GitLab.GetProjects.Invoke(new()\n {\n GroupId = mygroup.Apply(getGroupResult =\u003e getGroupResult.Id),\n OrderBy = \"name\",\n IncludeSubgroups = true,\n WithShared = false,\n });\n\n // List projects using the search syntax\n var projects = GitLab.GetProjects.Invoke(new()\n {\n Search = \"postgresql\",\n Visibility = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// List projects within a group tree\n\t\tmygroup, err := gitlab.LookupGroup(ctx, \u0026gitlab.LookupGroupArgs{\n\t\t\tFullPath: pulumi.StringRef(\"mygroup\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.GetProjects(ctx, \u0026gitlab.GetProjectsArgs{\n\t\t\tGroupId: pulumi.IntRef(mygroup.Id),\n\t\t\tOrderBy: pulumi.StringRef(\"name\"),\n\t\t\tIncludeSubgroups: pulumi.BoolRef(true),\n\t\t\tWithShared: pulumi.BoolRef(false),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// List projects using the search syntax\n\t\t_, err = gitlab.GetProjects(ctx, \u0026gitlab.GetProjectsArgs{\n\t\t\tSearch: pulumi.StringRef(\"postgresql\"),\n\t\t\tVisibility: pulumi.StringRef(\"private\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetGroupArgs;\nimport com.pulumi.gitlab.inputs.GetProjectsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // List projects within a group tree\n final var mygroup = GitlabFunctions.getGroup(GetGroupArgs.builder()\n .fullPath(\"mygroup\")\n .build());\n\n final var groupProjects = GitlabFunctions.getProjects(GetProjectsArgs.builder()\n .groupId(mygroup.applyValue(getGroupResult -\u003e getGroupResult.id()))\n .orderBy(\"name\")\n .includeSubgroups(true)\n .withShared(false)\n .build());\n\n // List projects using the search syntax\n final var projects = GitlabFunctions.getProjects(GetProjectsArgs.builder()\n .search(\"postgresql\")\n .visibility(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # List projects within a group tree\n mygroup:\n fn::invoke:\n Function: gitlab:getGroup\n Arguments:\n fullPath: mygroup\n groupProjects:\n fn::invoke:\n Function: gitlab:getProjects\n Arguments:\n groupId: ${mygroup.id}\n orderBy: name\n includeSubgroups: true\n withShared: false\n # List projects using the search syntax\n projects:\n fn::invoke:\n Function: gitlab:getProjects\n Arguments:\n search: postgresql\n visibility: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getProjects.\n", "properties": { @@ -23671,7 +24044,7 @@ } }, "gitlab:index/getRelease:getRelease": { - "description": "The `gitlab.getRelease` data source retrieves information about a gitlab release for a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/releases/)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// By project ID and tag_name\nconst example = gitlab.getRelease({\n projectId: \"1234\",\n tagName: \"v1.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# By project ID and tag_name\nexample = gitlab.get_release(project_id=\"1234\",\n tag_name=\"v1.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // By project ID and tag_name\n var example = GitLab.GetRelease.Invoke(new()\n {\n ProjectId = \"1234\",\n TagName = \"v1.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// By project ID and tag_name\n\t\t_, err := gitlab.GetRelease(ctx, \u0026gitlab.GetReleaseArgs{\n\t\t\tProjectId: \"1234\",\n\t\t\tTagName: \"v1.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetReleaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // By project ID and tag_name\n final var example = GitlabFunctions.getRelease(GetReleaseArgs.builder()\n .projectId(1234)\n .tagName(\"v1.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # By project ID and tag_name\n example:\n fn::invoke:\n Function: gitlab:getRelease\n Arguments:\n projectId: 1234\n tagName: v1.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getRelease` data source retrieves information about a gitlab release for a project.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/releases/)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\n// By project ID and tag_name\nconst example = gitlab.getRelease({\n projectId: \"1234\",\n tagName: \"v1.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\n# By project ID and tag_name\nexample = gitlab.get_release(project_id=\"1234\",\n tag_name=\"v1.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // By project ID and tag_name\n var example = GitLab.GetRelease.Invoke(new()\n {\n ProjectId = \"1234\",\n TagName = \"v1.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// By project ID and tag_name\n\t\t_, err := gitlab.GetRelease(ctx, \u0026gitlab.GetReleaseArgs{\n\t\t\tProjectId: \"1234\",\n\t\t\tTagName: \"v1.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetReleaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // By project ID and tag_name\n final var example = GitlabFunctions.getRelease(GetReleaseArgs.builder()\n .projectId(1234)\n .tagName(\"v1.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # By project ID and tag_name\n example:\n fn::invoke:\n Function: gitlab:getRelease\n Arguments:\n projectId: 1234\n tagName: v1.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRelease.\n", "properties": { @@ -23880,7 +24253,7 @@ } }, "gitlab:index/getRepositoryFile:getRepositoryFile": { - "description": "The `gitlab.RepositoryFile` data source allows details of a file in a repository to be retrieved.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/repository_files.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getRepositoryFile({\n project: \"example\",\n ref: \"main\",\n filePath: \"README.md\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_repository_file(project=\"example\",\n ref=\"main\",\n file_path=\"README.md\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetRepositoryFile.Invoke(new()\n {\n Project = \"example\",\n Ref = \"main\",\n FilePath = \"README.md\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupRepositoryFile(ctx, \u0026gitlab.LookupRepositoryFileArgs{\n\t\t\tProject: \"example\",\n\t\t\tRef: \"main\",\n\t\t\tFilePath: \"README.md\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetRepositoryFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getRepositoryFile(GetRepositoryFileArgs.builder()\n .project(\"example\")\n .ref(\"main\")\n .filePath(\"README.md\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getRepositoryFile\n Arguments:\n project: example\n ref: main\n filePath: README.md\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.RepositoryFile` data source allows details of a file in a repository to be retrieved.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/repository_files.html)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getRepositoryFile({\n project: \"example\",\n ref: \"main\",\n filePath: \"README.md\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_repository_file(project=\"example\",\n ref=\"main\",\n file_path=\"README.md\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetRepositoryFile.Invoke(new()\n {\n Project = \"example\",\n Ref = \"main\",\n FilePath = \"README.md\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.LookupRepositoryFile(ctx, \u0026gitlab.LookupRepositoryFileArgs{\n\t\t\tProject: \"example\",\n\t\t\tRef: \"main\",\n\t\t\tFilePath: \"README.md\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetRepositoryFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getRepositoryFile(GetRepositoryFileArgs.builder()\n .project(\"example\")\n .ref(\"main\")\n .filePath(\"README.md\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getRepositoryFile\n Arguments:\n project: example\n ref: main\n filePath: README.md\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRepositoryFile.\n", "properties": { @@ -23979,7 +24352,7 @@ } }, "gitlab:index/getRepositoryTree:getRepositoryTree": { - "description": "The `gitlab.getRepositoryTree` data source allows details of directories and files in a repository to be retrieved.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/repositories.html#list-repository-tree)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst this = gitlab.getRepositoryTree({\n project: \"example\",\n ref: \"main\",\n path: \"ExampleSubFolder\",\n recursive: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nthis = gitlab.get_repository_tree(project=\"example\",\n ref=\"main\",\n path=\"ExampleSubFolder\",\n recursive=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = GitLab.GetRepositoryTree.Invoke(new()\n {\n Project = \"example\",\n Ref = \"main\",\n Path = \"ExampleSubFolder\",\n Recursive = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetRepositoryTree(ctx, \u0026gitlab.GetRepositoryTreeArgs{\n\t\t\tProject: \"example\",\n\t\t\tRef: \"main\",\n\t\t\tPath: pulumi.StringRef(\"ExampleSubFolder\"),\n\t\t\tRecursive: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetRepositoryTreeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var this = GitlabFunctions.getRepositoryTree(GetRepositoryTreeArgs.builder()\n .project(\"example\")\n .ref(\"main\")\n .path(\"ExampleSubFolder\")\n .recursive(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n Function: gitlab:getRepositoryTree\n Arguments:\n project: example\n ref: main\n path: ExampleSubFolder\n recursive: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getRepositoryTree` data source allows details of directories and files in a repository to be retrieved.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/repositories.html#list-repository-tree)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst this = gitlab.getRepositoryTree({\n project: \"example\",\n ref: \"main\",\n path: \"ExampleSubFolder\",\n recursive: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nthis = gitlab.get_repository_tree(project=\"example\",\n ref=\"main\",\n path=\"ExampleSubFolder\",\n recursive=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = GitLab.GetRepositoryTree.Invoke(new()\n {\n Project = \"example\",\n Ref = \"main\",\n Path = \"ExampleSubFolder\",\n Recursive = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetRepositoryTree(ctx, \u0026gitlab.GetRepositoryTreeArgs{\n\t\t\tProject: \"example\",\n\t\t\tRef: \"main\",\n\t\t\tPath: pulumi.StringRef(\"ExampleSubFolder\"),\n\t\t\tRecursive: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetRepositoryTreeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var this = GitlabFunctions.getRepositoryTree(GetRepositoryTreeArgs.builder()\n .project(\"example\")\n .ref(\"main\")\n .path(\"ExampleSubFolder\")\n .recursive(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n this:\n fn::invoke:\n Function: gitlab:getRepositoryTree\n Arguments:\n project: example\n ref: main\n path: ExampleSubFolder\n recursive: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getRepositoryTree.\n", "properties": { @@ -24278,7 +24651,7 @@ } }, "gitlab:index/getUsers:getUsers": { - "description": "The `gitlab.getUsers` data source allows details of multiple users to be retrieved given some optional filter criteria.\n\n\u003e Some attributes might not be returned depending on if you're an admin or not.\n\n\u003e Some available options require administrator privileges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ce/api/users.html#list-users)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getUsers({\n sort: \"desc\",\n orderBy: \"name\",\n createdBefore: \"2019-01-01\",\n});\nconst example-two = gitlab.getUsers({\n search: \"username\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_users(sort=\"desc\",\n order_by=\"name\",\n created_before=\"2019-01-01\")\nexample_two = gitlab.get_users(search=\"username\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetUsers.Invoke(new()\n {\n Sort = \"desc\",\n OrderBy = \"name\",\n CreatedBefore = \"2019-01-01\",\n });\n\n var example_two = GitLab.GetUsers.Invoke(new()\n {\n Search = \"username\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetUsers(ctx, \u0026gitlab.GetUsersArgs{\n\t\t\tSort: pulumi.StringRef(\"desc\"),\n\t\t\tOrderBy: pulumi.StringRef(\"name\"),\n\t\t\tCreatedBefore: pulumi.StringRef(\"2019-01-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.GetUsers(ctx, \u0026gitlab.GetUsersArgs{\n\t\t\tSearch: pulumi.StringRef(\"username\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getUsers(GetUsersArgs.builder()\n .sort(\"desc\")\n .orderBy(\"name\")\n .createdBefore(\"2019-01-01\")\n .build());\n\n final var example-two = GitlabFunctions.getUsers(GetUsersArgs.builder()\n .search(\"username\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getUsers\n Arguments:\n sort: desc\n orderBy: name\n createdBefore: 2019-01-01\n example-two:\n fn::invoke:\n Function: gitlab:getUsers\n Arguments:\n search: username\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `gitlab.getUsers` data source allows details of multiple users to be retrieved given some optional filter criteria.\n\n\u003e Some attributes might not be returned depending on if you're an admin or not.\n\n\u003e Some available options require administrator privileges.\n\n**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ce/api/users.html#list-users)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gitlab from \"@pulumi/gitlab\";\n\nconst example = gitlab.getUsers({\n sort: \"desc\",\n orderBy: \"name\",\n createdBefore: \"2019-01-01\",\n});\nconst example-two = gitlab.getUsers({\n search: \"username\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gitlab as gitlab\n\nexample = gitlab.get_users(sort=\"desc\",\n order_by=\"name\",\n created_before=\"2019-01-01\")\nexample_two = gitlab.get_users(search=\"username\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing GitLab = Pulumi.GitLab;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = GitLab.GetUsers.Invoke(new()\n {\n Sort = \"desc\",\n OrderBy = \"name\",\n CreatedBefore = \"2019-01-01\",\n });\n\n var example_two = GitLab.GetUsers.Invoke(new()\n {\n Search = \"username\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := gitlab.GetUsers(ctx, \u0026gitlab.GetUsersArgs{\n\t\t\tSort: pulumi.StringRef(\"desc\"),\n\t\t\tOrderBy: pulumi.StringRef(\"name\"),\n\t\t\tCreatedBefore: pulumi.StringRef(\"2019-01-01\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gitlab.GetUsers(ctx, \u0026gitlab.GetUsersArgs{\n\t\t\tSearch: pulumi.StringRef(\"username\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gitlab.GitlabFunctions;\nimport com.pulumi.gitlab.inputs.GetUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = GitlabFunctions.getUsers(GetUsersArgs.builder()\n .sort(\"desc\")\n .orderBy(\"name\")\n .createdBefore(\"2019-01-01\")\n .build());\n\n final var example-two = GitlabFunctions.getUsers(GetUsersArgs.builder()\n .search(\"username\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: gitlab:getUsers\n Arguments:\n sort: desc\n orderBy: name\n createdBefore: 2019-01-01\n example-two:\n fn::invoke:\n Function: gitlab:getUsers\n Arguments:\n search: username\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getUsers.\n", "properties": { diff --git a/provider/cmd/pulumi-tfgen-gitlab/main.go b/provider/cmd/pulumi-tfgen-gitlab/main.go index 0e1aa72b..7eddb0a5 100644 --- a/provider/cmd/pulumi-tfgen-gitlab/main.go +++ b/provider/cmd/pulumi-tfgen-gitlab/main.go @@ -17,7 +17,7 @@ package main import ( "github.com/pulumi/pulumi-terraform-bridge/pf/tfgen" - gitlab "github.com/pulumi/pulumi-gitlab/provider/v7" + gitlab "github.com/pulumi/pulumi-gitlab/provider/v8" ) func main() { diff --git a/provider/go.mod b/provider/go.mod index 0044d95b..34b8c04f 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,8 +1,6 @@ -module github.com/pulumi/pulumi-gitlab/provider/v7 +module github.com/pulumi/pulumi-gitlab/provider/v8 -go 1.22 - -toolchain go1.22.1 +go 1.22.2 require ( github.com/pulumi/providertest v0.0.11 @@ -80,7 +78,7 @@ require ( github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/dcarbone/terraform-plugin-framework-utils/v3 v3.5.0 // indirect + github.com/dcarbone/terraform-plugin-framework-utils/v3 v3.6.0 // indirect github.com/deckarep/golang-set/v2 v2.5.0 // indirect github.com/djherbis/times v1.5.0 // indirect github.com/edsrzf/mmap-go v1.1.0 // indirect @@ -116,11 +114,11 @@ require ( github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-cty v1.4.1-0.20200723130312-85980079f637 // indirect github.com/hashicorp/go-getter v1.7.1 // indirect - github.com/hashicorp/go-hclog v1.6.2 // indirect + github.com/hashicorp/go-hclog v1.6.3 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-plugin v1.6.0 // indirect - github.com/hashicorp/go-retryablehttp v0.7.5 // indirect + github.com/hashicorp/go-retryablehttp v0.7.6 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // indirect @@ -131,7 +129,7 @@ require ( github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/hcl/v2 v2.19.1 // indirect + github.com/hashicorp/hcl/v2 v2.20.1 // indirect github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect github.com/hashicorp/logutils v1.0.0 // indirect github.com/hashicorp/terraform-plugin-framework v1.8.0 // indirect @@ -221,7 +219,7 @@ require ( github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - github.com/xanzy/go-gitlab v0.102.0 // indirect + github.com/xanzy/go-gitlab v0.105.0 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect @@ -238,15 +236,15 @@ require ( gocloud.dev/secrets/hashivault v0.27.0 // indirect golang.org/x/crypto v0.22.0 // indirect golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect - golang.org/x/mod v0.15.0 // indirect - golang.org/x/net v0.23.0 // indirect + golang.org/x/mod v0.17.0 // indirect + golang.org/x/net v0.24.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect - golang.org/x/sync v0.6.0 // indirect - golang.org/x/sys v0.19.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.20.0 // indirect golang.org/x/term v0.19.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.17.0 // indirect + golang.org/x/tools v0.20.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/api v0.169.0 // indirect google.golang.org/appengine v1.6.8 // indirect diff --git a/provider/go.sum b/provider/go.sum index 4173c9c3..1e47fed0 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1324,7 +1324,6 @@ github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/Y github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU= github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= -github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 h1:MzVXffFUye+ZcSR6opIgz9Co7WcDx6ZcY+RjfFHoA0I= github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= @@ -1662,8 +1661,8 @@ github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjI github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dcarbone/terraform-plugin-framework-utils/v3 v3.5.0 h1:RCCvoS7bF8YV+nr39At4srZmqJ60fBHZ3wqCyOjJ/4s= -github.com/dcarbone/terraform-plugin-framework-utils/v3 v3.5.0/go.mod h1:UESRaf2PvcgrnjwpQNinDCt4+6akPL8BG0GCGs2ej/8= +github.com/dcarbone/terraform-plugin-framework-utils/v3 v3.6.0 h1:ElfHbk3JZ2g6Ut6L+yUGw13lF9aMWzawYb0DvyBFYiA= +github.com/dcarbone/terraform-plugin-framework-utils/v3 v3.6.0/go.mod h1:VrdwTHG3lgWDw0+gj60LWYPF+/utSLQ9+FN07mfQpu4= github.com/deckarep/golang-set/v2 v2.5.0 h1:hn6cEZtQ0h3J8kFrHR/NrzyOoTnjgW1+FmNJzQ7y/sA= github.com/deckarep/golang-set/v2 v2.5.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/denisenkom/go-mssqldb v0.12.2/go.mod h1:lnIw1mZukFRZDJYQ0Pb833QS2IaC3l5HkEfra2LJ+sk= @@ -2184,8 +2183,8 @@ github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39 github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.2.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= -github.com/hashicorp/go-hclog v1.6.2 h1:NOtoftovWkDheyUM/8JW3QMiXyxJK3uHRK7wV04nD2I= -github.com/hashicorp/go-hclog v1.6.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= +github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= @@ -2205,8 +2204,8 @@ github.com/hashicorp/go-plugin v1.6.0/go.mod h1:lBS5MtSSBZk0SHc66KACcjjlU6WzEVP/ github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-retryablehttp v0.7.5 h1:bJj+Pj19UZMIweq/iie+1u5YCdGrnxCT9yvm0e+Nd5M= -github.com/hashicorp/go-retryablehttp v0.7.5/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= +github.com/hashicorp/go-retryablehttp v0.7.6 h1:TwRYfx2z2C4cLbXmT8I5PgP/xmuqASDyiVuGYfs9GZM= +github.com/hashicorp/go-retryablehttp v0.7.6/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= @@ -2250,8 +2249,9 @@ github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= -github.com/hashicorp/hcl/v2 v2.19.1 h1://i05Jqznmb2EXqa39Nsvyan2o5XyMowW5fnCKW5RPI= github.com/hashicorp/hcl/v2 v2.19.1/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= +github.com/hashicorp/hcl/v2 v2.20.1 h1:M6hgdyz7HYt1UN9e61j+qKJBqR3orTWbI1HKBJEdxtc= +github.com/hashicorp/hcl/v2 v2.20.1/go.mod h1:TZDqQ4kNKCbh1iJp99FdPiUaVDDUPivbqxZulxDYqL4= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 h1:T1Q6ag9tCwun16AW+XK3tAql24P4uTGUMIn1/92WsQQ= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= @@ -2687,8 +2687,8 @@ github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+q github.com/onsi/gomega v1.27.7/go.mod h1:1p8OOlwo2iUUDsHnOrjE5UKYJ+e3W8eQ3qSlRahPmr4= github.com/onsi/gomega v1.27.8/go.mod h1:2J8vzI/s+2shY9XHRApDkdgPo1TKT7P2u6fXeJKFnNQ= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= -github.com/onsi/gomega v1.32.0 h1:JRYU78fJ1LPxlckP6Txi/EYqJvjtMrDC04/MM5XRHPk= -github.com/onsi/gomega v1.32.0/go.mod h1:a4x4gW6Pz2yK1MAmvluYme5lvYTn61afQ2ETw/8n4Lg= +github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= +github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= @@ -3061,8 +3061,8 @@ github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/xanzy/go-gitlab v0.102.0 h1:ExHuJ1OTQ2yt25zBMMj0G96ChBirGYv8U7HyUiYkZ+4= -github.com/xanzy/go-gitlab v0.102.0/go.mod h1:ETg8tcj4OhrB84UEgeE8dSuV/0h4BBL1uOV/qK0vlyI= +github.com/xanzy/go-gitlab v0.105.0 h1:3nyLq0ESez0crcaM19o5S//SvezOQguuIHZ3wgX64hM= +github.com/xanzy/go-gitlab v0.105.0/go.mod h1:ETg8tcj4OhrB84UEgeE8dSuV/0h4BBL1uOV/qK0vlyI= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= @@ -3345,8 +3345,9 @@ golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -3452,8 +3453,8 @@ golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -3516,8 +3517,9 @@ golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -3689,8 +3691,8 @@ golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -3853,8 +3855,9 @@ golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= +golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= +golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/provider/resources.go b/provider/resources.go index 62ff6f20..593cc064 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -31,7 +31,7 @@ import ( shimv2 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2" "github.com/pulumi/pulumi/sdk/v3/go/common/tokens" - "github.com/pulumi/pulumi-gitlab/provider/v7/pkg/version" + "github.com/pulumi/pulumi-gitlab/provider/v8/pkg/version" ) // all of the GitLab token components used below. diff --git a/sdk/dotnet/ApplicationSettings.cs b/sdk/dotnet/ApplicationSettings.cs index 626ad87d..c56c6e96 100644 --- a/sdk/dotnet/ApplicationSettings.cs +++ b/sdk/dotnet/ApplicationSettings.cs @@ -839,6 +839,12 @@ public partial class ApplicationSettings : global::Pulumi.CustomResource [Output("metricsMethodCallThreshold")] public Output MetricsMethodCallThreshold { get; private set; } = null!; + /// + /// Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + /// + [Output("minimumPasswordLength")] + public Output MinimumPasswordLength { get; private set; } = null!; + /// /// Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. /// @@ -2505,6 +2511,12 @@ public Input? MailgunSigningKey [Input("metricsMethodCallThreshold")] public Input? MetricsMethodCallThreshold { get; set; } + /// + /// Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + /// + [Input("minimumPasswordLength")] + public Input? MinimumPasswordLength { get; set; } + /// /// Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. /// @@ -4189,6 +4201,12 @@ public Input? MailgunSigningKey [Input("metricsMethodCallThreshold")] public Input? MetricsMethodCallThreshold { get; set; } + /// + /// Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + /// + [Input("minimumPasswordLength")] + public Input? MinimumPasswordLength { get; set; } + /// /// Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. /// diff --git a/sdk/dotnet/GetInstanceVariable.cs b/sdk/dotnet/GetInstanceVariable.cs index c6508c12..e261cbf5 100644 --- a/sdk/dotnet/GetInstanceVariable.cs +++ b/sdk/dotnet/GetInstanceVariable.cs @@ -97,6 +97,10 @@ public GetInstanceVariableInvokeArgs() [OutputType] public sealed class GetInstanceVariableResult { + /// + /// The description of the variable. Maximum of 255 characters. + /// + public readonly string Description; /// /// The provider-assigned unique ID for this managed resource. /// @@ -128,6 +132,8 @@ public sealed class GetInstanceVariableResult [OutputConstructor] private GetInstanceVariableResult( + string description, + string id, string key, @@ -142,6 +148,7 @@ private GetInstanceVariableResult( string variableType) { + Description = description; Id = id; Key = key; Masked = masked; diff --git a/sdk/dotnet/GetProject.cs b/sdk/dotnet/GetProject.cs index 7d17480b..b42f1d4f 100644 --- a/sdk/dotnet/GetProject.cs +++ b/sdk/dotnet/GetProject.cs @@ -166,10 +166,6 @@ public sealed class GetProjectResult /// public readonly string Description; /// - /// Disable email notifications. - /// - public readonly bool EmailsDisabled; - /// /// Enable email notifications. /// public readonly bool EmailsEnabled; @@ -402,8 +398,6 @@ private GetProjectResult( string description, - bool emailsDisabled, - bool emailsEnabled, bool emptyRepo, @@ -519,7 +513,6 @@ private GetProjectResult( ContainerRegistryAccessLevel = containerRegistryAccessLevel; DefaultBranch = defaultBranch; Description = description; - EmailsDisabled = emailsDisabled; EmailsEnabled = emailsEnabled; EmptyRepo = emptyRepo; EnvironmentsAccessLevel = environmentsAccessLevel; diff --git a/sdk/dotnet/Group.cs b/sdk/dotnet/Group.cs index 87d3afe8..3b0865c4 100644 --- a/sdk/dotnet/Group.cs +++ b/sdk/dotnet/Group.cs @@ -112,12 +112,6 @@ public partial class Group : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; - /// - /// Disable email notifications. - /// - [Output("emailsDisabled")] - public Output EmailsDisabled { get; private set; } = null!; - /// /// Enable email notifications. /// @@ -348,12 +342,6 @@ public sealed class GroupArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } - /// - /// Disable email notifications. - /// - [Input("emailsDisabled")] - public Input? EmailsDisabled { get; set; } - /// /// Enable email notifications. /// @@ -530,12 +518,6 @@ public sealed class GroupState : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } - /// - /// Disable email notifications. - /// - [Input("emailsDisabled")] - public Input? EmailsDisabled { get; set; } - /// /// Enable email notifications. /// diff --git a/sdk/dotnet/GroupAccessToken.cs b/sdk/dotnet/GroupAccessToken.cs index d4272033..1f7c2117 100644 --- a/sdk/dotnet/GroupAccessToken.cs +++ b/sdk/dotnet/GroupAccessToken.cs @@ -66,7 +66,7 @@ namespace Pulumi.GitLab public partial class GroupAccessToken : global::Pulumi.CustomResource { /// - /// The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + /// The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. /// [Output("accessLevel")] public Output AccessLevel { get; private set; } = null!; @@ -182,7 +182,7 @@ public static GroupAccessToken Get(string name, Input id, GroupAccessTok public sealed class GroupAccessTokenArgs : global::Pulumi.ResourceArgs { /// - /// The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + /// The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. /// [Input("accessLevel")] public Input? AccessLevel { get; set; } @@ -232,7 +232,7 @@ public GroupAccessTokenArgs() public sealed class GroupAccessTokenState : global::Pulumi.ResourceArgs { /// - /// The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + /// The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. /// [Input("accessLevel")] public Input? AccessLevel { get; set; } diff --git a/sdk/dotnet/GroupLdapLink.cs b/sdk/dotnet/GroupLdapLink.cs index bc902bb0..7a10fb56 100644 --- a/sdk/dotnet/GroupLdapLink.cs +++ b/sdk/dotnet/GroupLdapLink.cs @@ -34,7 +34,7 @@ namespace Pulumi.GitLab public partial class GroupLdapLink : global::Pulumi.CustomResource { /// - /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Output("accessLevel")] public Output AccessLevel { get; private set; } = null!; @@ -64,7 +64,7 @@ public partial class GroupLdapLink : global::Pulumi.CustomResource public Output Group { get; private set; } = null!; /// - /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Output("groupAccess")] public Output GroupAccess { get; private set; } = null!; @@ -122,7 +122,7 @@ public static GroupLdapLink Get(string name, Input id, GroupLdapLinkStat public sealed class GroupLdapLinkArgs : global::Pulumi.ResourceArgs { /// - /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("accessLevel")] public Input? AccessLevel { get; set; } @@ -152,7 +152,7 @@ public sealed class GroupLdapLinkArgs : global::Pulumi.ResourceArgs public Input Group { get; set; } = null!; /// - /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("groupAccess")] public Input? GroupAccess { get; set; } @@ -172,7 +172,7 @@ public GroupLdapLinkArgs() public sealed class GroupLdapLinkState : global::Pulumi.ResourceArgs { /// - /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("accessLevel")] public Input? AccessLevel { get; set; } @@ -202,7 +202,7 @@ public sealed class GroupLdapLinkState : global::Pulumi.ResourceArgs public Input? Group { get; set; } /// - /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("groupAccess")] public Input? GroupAccess { get; set; } diff --git a/sdk/dotnet/GroupMembership.cs b/sdk/dotnet/GroupMembership.cs index f419ef20..26f523ca 100644 --- a/sdk/dotnet/GroupMembership.cs +++ b/sdk/dotnet/GroupMembership.cs @@ -49,7 +49,7 @@ namespace Pulumi.GitLab public partial class GroupMembership : global::Pulumi.CustomResource { /// - /// Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + /// Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. /// [Output("accessLevel")] public Output AccessLevel { get; private set; } = null!; @@ -137,7 +137,7 @@ public static GroupMembership Get(string name, Input id, GroupMembership public sealed class GroupMembershipArgs : global::Pulumi.ResourceArgs { /// - /// Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + /// Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. /// [Input("accessLevel", required: true)] public Input AccessLevel { get; set; } = null!; @@ -187,7 +187,7 @@ public GroupMembershipArgs() public sealed class GroupMembershipState : global::Pulumi.ResourceArgs { /// - /// Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + /// Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. /// [Input("accessLevel")] public Input? AccessLevel { get; set; } diff --git a/sdk/dotnet/GroupProtectedEnvironment.cs b/sdk/dotnet/GroupProtectedEnvironment.cs index cae26748..71fda7a5 100644 --- a/sdk/dotnet/GroupProtectedEnvironment.cs +++ b/sdk/dotnet/GroupProtectedEnvironment.cs @@ -54,12 +54,6 @@ public partial class GroupProtectedEnvironment : global::Pulumi.CustomResource [Output("group")] public Output Group { get; private set; } = null!; - /// - /// The number of approvals required to deploy to this environment. - /// - [Output("requiredApprovalCount")] - public Output RequiredApprovalCount { get; private set; } = null!; - /// /// Create a GroupProtectedEnvironment resource with the given unique name, arguments, and options. @@ -142,12 +136,6 @@ public InputList DeployAc [Input("group", required: true)] public Input Group { get; set; } = null!; - /// - /// The number of approvals required to deploy to this environment. - /// - [Input("requiredApprovalCount")] - public Input? RequiredApprovalCount { get; set; } - public GroupProtectedEnvironmentArgs() { } @@ -192,12 +180,6 @@ public InputList Deplo [Input("group")] public Input? Group { get; set; } - /// - /// The number of approvals required to deploy to this environment. - /// - [Input("requiredApprovalCount")] - public Input? RequiredApprovalCount { get; set; } - public GroupProtectedEnvironmentState() { } diff --git a/sdk/dotnet/GroupShareGroup.cs b/sdk/dotnet/GroupShareGroup.cs index 01d13fd7..4339d4af 100644 --- a/sdk/dotnet/GroupShareGroup.cs +++ b/sdk/dotnet/GroupShareGroup.cs @@ -53,7 +53,7 @@ public partial class GroupShareGroup : global::Pulumi.CustomResource public Output ExpiresAt { get; private set; } = null!; /// - /// The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Output("groupAccess")] public Output GroupAccess { get; private set; } = null!; @@ -123,7 +123,7 @@ public sealed class GroupShareGroupArgs : global::Pulumi.ResourceArgs public Input? ExpiresAt { get; set; } /// - /// The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("groupAccess", required: true)] public Input GroupAccess { get; set; } = null!; @@ -155,7 +155,7 @@ public sealed class GroupShareGroupState : global::Pulumi.ResourceArgs public Input? ExpiresAt { get; set; } /// - /// The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("groupAccess")] public Input? GroupAccess { get; set; } diff --git a/sdk/dotnet/Inputs/GroupPushRulesArgs.cs b/sdk/dotnet/Inputs/GroupPushRulesArgs.cs index 9eba64a7..80060b49 100644 --- a/sdk/dotnet/Inputs/GroupPushRulesArgs.cs +++ b/sdk/dotnet/Inputs/GroupPushRulesArgs.cs @@ -30,6 +30,12 @@ public sealed class GroupPushRulesArgs : global::Pulumi.ResourceArgs [Input("commitCommitterCheck")] public Input? CommitCommitterCheck { get; set; } + /// + /// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + /// + [Input("commitCommitterNameCheck")] + public Input? CommitCommitterNameCheck { get; set; } + /// /// No commit message is allowed to match this regex, for example `ssh\:\/\/`. /// diff --git a/sdk/dotnet/Inputs/GroupPushRulesGetArgs.cs b/sdk/dotnet/Inputs/GroupPushRulesGetArgs.cs index 1324a11e..418b90aa 100644 --- a/sdk/dotnet/Inputs/GroupPushRulesGetArgs.cs +++ b/sdk/dotnet/Inputs/GroupPushRulesGetArgs.cs @@ -30,6 +30,12 @@ public sealed class GroupPushRulesGetArgs : global::Pulumi.ResourceArgs [Input("commitCommitterCheck")] public Input? CommitCommitterCheck { get; set; } + /// + /// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + /// + [Input("commitCommitterNameCheck")] + public Input? CommitCommitterNameCheck { get; set; } + /// /// No commit message is allowed to match this regex, for example `ssh\:\/\/`. /// diff --git a/sdk/dotnet/Inputs/ProjectPushRulesArgs.cs b/sdk/dotnet/Inputs/ProjectPushRulesArgs.cs index 051e9989..0c53fcbf 100644 --- a/sdk/dotnet/Inputs/ProjectPushRulesArgs.cs +++ b/sdk/dotnet/Inputs/ProjectPushRulesArgs.cs @@ -31,7 +31,13 @@ public sealed class ProjectPushRulesArgs : global::Pulumi.ResourceArgs public Input? CommitCommitterCheck { get; set; } /// - /// No commit message is allowed to match this regex, for example `ssh\:\/\/`. + /// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + /// + [Input("commitCommitterNameCheck")] + public Input? CommitCommitterNameCheck { get; set; } + + /// + /// No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. /// [Input("commitMessageNegativeRegex")] public Input? CommitMessageNegativeRegex { get; set; } diff --git a/sdk/dotnet/Inputs/ProjectPushRulesGetArgs.cs b/sdk/dotnet/Inputs/ProjectPushRulesGetArgs.cs index 3c6c8930..2a721d08 100644 --- a/sdk/dotnet/Inputs/ProjectPushRulesGetArgs.cs +++ b/sdk/dotnet/Inputs/ProjectPushRulesGetArgs.cs @@ -31,7 +31,13 @@ public sealed class ProjectPushRulesGetArgs : global::Pulumi.ResourceArgs public Input? CommitCommitterCheck { get; set; } /// - /// No commit message is allowed to match this regex, for example `ssh\:\/\/`. + /// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + /// + [Input("commitCommitterNameCheck")] + public Input? CommitCommitterNameCheck { get; set; } + + /// + /// No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. /// [Input("commitMessageNegativeRegex")] public Input? CommitMessageNegativeRegex { get; set; } diff --git a/sdk/dotnet/InstanceVariable.cs b/sdk/dotnet/InstanceVariable.cs index 6e8692fc..99edd931 100644 --- a/sdk/dotnet/InstanceVariable.cs +++ b/sdk/dotnet/InstanceVariable.cs @@ -46,6 +46,12 @@ namespace Pulumi.GitLab [GitLabResourceType("gitlab:index/instanceVariable:InstanceVariable")] public partial class InstanceVariable : global::Pulumi.CustomResource { + /// + /// The description of the variable. Maximum of 255 characters. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + /// /// The name of the variable. /// @@ -128,6 +134,12 @@ public static InstanceVariable Get(string name, Input id, InstanceVariab public sealed class InstanceVariableArgs : global::Pulumi.ResourceArgs { + /// + /// The description of the variable. Maximum of 255 characters. + /// + [Input("description")] + public Input? Description { get; set; } + /// /// The name of the variable. /// @@ -172,6 +184,12 @@ public InstanceVariableArgs() public sealed class InstanceVariableState : global::Pulumi.ResourceArgs { + /// + /// The description of the variable. Maximum of 255 characters. + /// + [Input("description")] + public Input? Description { get; set; } + /// /// The name of the variable. /// diff --git a/sdk/dotnet/IntegrationJenkins.cs b/sdk/dotnet/IntegrationJenkins.cs new file mode 100644 index 00000000..ddff49ac --- /dev/null +++ b/sdk/dotnet/IntegrationJenkins.cs @@ -0,0 +1,314 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.GitLab +{ + /// + /// The `gitlab.IntegrationJenkins` resource allows to manage the lifecycle of a project integration with Jenkins. + /// + /// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#jenkins) + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using GitLab = Pulumi.GitLab; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var awesomeProject = new GitLab.Project("awesome_project", new() + /// { + /// Name = "awesome_project", + /// Description = "My awesome project.", + /// VisibilityLevel = "public", + /// }); + /// + /// var jenkins = new GitLab.IntegrationJenkins("jenkins", new() + /// { + /// Project = awesomeProject.Id, + /// JenkinsUrl = "http://jenkins.example.com", + /// ProjectName = "my_project_name", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// ```sh + /// $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins You can import a gitlab_integration_jenkins state using `<resource> <project_id>`: + /// ``` + /// + /// ```sh + /// $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins jenkins 1 + /// ``` + /// + [GitLabResourceType("gitlab:index/integrationJenkins:IntegrationJenkins")] + public partial class IntegrationJenkins : global::Pulumi.CustomResource + { + /// + /// Whether the integration is active. + /// + [Output("active")] + public Output Active { get; private set; } = null!; + + /// + /// Enable SSL verification. Defaults to `true` (enabled). + /// + [Output("enableSslVerification")] + public Output EnableSslVerification { get; private set; } = null!; + + /// + /// Jenkins URL like `http://jenkins.example.com` + /// + [Output("jenkinsUrl")] + public Output JenkinsUrl { get; private set; } = null!; + + /// + /// Enable notifications for merge request events. + /// + [Output("mergeRequestEvents")] + public Output MergeRequestEvents { get; private set; } = null!; + + /// + /// Password for authentication with the Jenkins server, if authentication is required by the server. + /// + [Output("password")] + public Output Password { get; private set; } = null!; + + /// + /// ID of the project you want to activate integration on. + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// The URL-friendly project name. Example: `my_project_name`. + /// + [Output("projectName")] + public Output ProjectName { get; private set; } = null!; + + /// + /// Enable notifications for push events. + /// + [Output("pushEvents")] + public Output PushEvents { get; private set; } = null!; + + /// + /// Enable notifications for tag push events. + /// + [Output("tagPushEvents")] + public Output TagPushEvents { get; private set; } = null!; + + /// + /// Username for authentication with the Jenkins server, if authentication is required by the server. + /// + [Output("username")] + public Output Username { get; private set; } = null!; + + + /// + /// Create a IntegrationJenkins resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public IntegrationJenkins(string name, IntegrationJenkinsArgs args, CustomResourceOptions? options = null) + : base("gitlab:index/integrationJenkins:IntegrationJenkins", name, args ?? new IntegrationJenkinsArgs(), MakeResourceOptions(options, "")) + { + } + + private IntegrationJenkins(string name, Input id, IntegrationJenkinsState? state = null, CustomResourceOptions? options = null) + : base("gitlab:index/integrationJenkins:IntegrationJenkins", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "password", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing IntegrationJenkins resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static IntegrationJenkins Get(string name, Input id, IntegrationJenkinsState? state = null, CustomResourceOptions? options = null) + { + return new IntegrationJenkins(name, id, state, options); + } + } + + public sealed class IntegrationJenkinsArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable SSL verification. Defaults to `true` (enabled). + /// + [Input("enableSslVerification")] + public Input? EnableSslVerification { get; set; } + + /// + /// Jenkins URL like `http://jenkins.example.com` + /// + [Input("jenkinsUrl", required: true)] + public Input JenkinsUrl { get; set; } = null!; + + /// + /// Enable notifications for merge request events. + /// + [Input("mergeRequestEvents")] + public Input? MergeRequestEvents { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// Password for authentication with the Jenkins server, if authentication is required by the server. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// ID of the project you want to activate integration on. + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// The URL-friendly project name. Example: `my_project_name`. + /// + [Input("projectName", required: true)] + public Input ProjectName { get; set; } = null!; + + /// + /// Enable notifications for push events. + /// + [Input("pushEvents")] + public Input? PushEvents { get; set; } + + /// + /// Enable notifications for tag push events. + /// + [Input("tagPushEvents")] + public Input? TagPushEvents { get; set; } + + /// + /// Username for authentication with the Jenkins server, if authentication is required by the server. + /// + [Input("username")] + public Input? Username { get; set; } + + public IntegrationJenkinsArgs() + { + } + public static new IntegrationJenkinsArgs Empty => new IntegrationJenkinsArgs(); + } + + public sealed class IntegrationJenkinsState : global::Pulumi.ResourceArgs + { + /// + /// Whether the integration is active. + /// + [Input("active")] + public Input? Active { get; set; } + + /// + /// Enable SSL verification. Defaults to `true` (enabled). + /// + [Input("enableSslVerification")] + public Input? EnableSslVerification { get; set; } + + /// + /// Jenkins URL like `http://jenkins.example.com` + /// + [Input("jenkinsUrl")] + public Input? JenkinsUrl { get; set; } + + /// + /// Enable notifications for merge request events. + /// + [Input("mergeRequestEvents")] + public Input? MergeRequestEvents { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// Password for authentication with the Jenkins server, if authentication is required by the server. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// ID of the project you want to activate integration on. + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// The URL-friendly project name. Example: `my_project_name`. + /// + [Input("projectName")] + public Input? ProjectName { get; set; } + + /// + /// Enable notifications for push events. + /// + [Input("pushEvents")] + public Input? PushEvents { get; set; } + + /// + /// Enable notifications for tag push events. + /// + [Input("tagPushEvents")] + public Input? TagPushEvents { get; set; } + + /// + /// Username for authentication with the Jenkins server, if authentication is required by the server. + /// + [Input("username")] + public Input? Username { get; set; } + + public IntegrationJenkinsState() + { + } + public static new IntegrationJenkinsState Empty => new IntegrationJenkinsState(); + } +} diff --git a/sdk/dotnet/Outputs/GetGroupSubgroupsSubgroupResult.cs b/sdk/dotnet/Outputs/GetGroupSubgroupsSubgroupResult.cs index 50b8fec3..bd4c95b0 100644 --- a/sdk/dotnet/Outputs/GetGroupSubgroupsSubgroupResult.cs +++ b/sdk/dotnet/Outputs/GetGroupSubgroupsSubgroupResult.cs @@ -18,7 +18,6 @@ public sealed class GetGroupSubgroupsSubgroupResult public readonly string CreatedAt; public readonly int DefaultBranchProtection; public readonly string Description; - public readonly bool EmailsDisabled; public readonly bool EmailsEnabled; public readonly int FileTemplateProjectId; public readonly string FullName; @@ -54,8 +53,6 @@ private GetGroupSubgroupsSubgroupResult( string description, - bool emailsDisabled, - bool emailsEnabled, int fileTemplateProjectId, @@ -105,7 +102,6 @@ private GetGroupSubgroupsSubgroupResult( CreatedAt = createdAt; DefaultBranchProtection = defaultBranchProtection; Description = description; - EmailsDisabled = emailsDisabled; EmailsEnabled = emailsEnabled; FileTemplateProjectId = fileTemplateProjectId; FullName = fullName; diff --git a/sdk/dotnet/Outputs/GetInstanceVariablesVariableResult.cs b/sdk/dotnet/Outputs/GetInstanceVariablesVariableResult.cs index b75b2d77..3dd86637 100644 --- a/sdk/dotnet/Outputs/GetInstanceVariablesVariableResult.cs +++ b/sdk/dotnet/Outputs/GetInstanceVariablesVariableResult.cs @@ -13,6 +13,10 @@ namespace Pulumi.GitLab.Outputs [OutputType] public sealed class GetInstanceVariablesVariableResult { + /// + /// The description of the variable. Maximum of 255 characters. + /// + public readonly string Description; /// /// The name of the variable. /// @@ -40,6 +44,8 @@ public sealed class GetInstanceVariablesVariableResult [OutputConstructor] private GetInstanceVariablesVariableResult( + string description, + string key, bool masked, @@ -52,6 +58,7 @@ private GetInstanceVariablesVariableResult( string variableType) { + Description = description; Key = key; Masked = masked; Protected = @protected; diff --git a/sdk/dotnet/Outputs/GetProjectPushRuleResult.cs b/sdk/dotnet/Outputs/GetProjectPushRuleResult.cs index 9ec965fe..523e5a43 100644 --- a/sdk/dotnet/Outputs/GetProjectPushRuleResult.cs +++ b/sdk/dotnet/Outputs/GetProjectPushRuleResult.cs @@ -26,6 +26,10 @@ public sealed class GetProjectPushRuleResult /// public readonly bool CommitCommitterCheck; /// + /// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + /// + public readonly bool CommitCommitterNameCheck; + /// /// No commit message is allowed to match this regex, for example `ssh\:\/\/`. /// public readonly string CommitMessageNegativeRegex; @@ -66,6 +70,8 @@ private GetProjectPushRuleResult( bool commitCommitterCheck, + bool commitCommitterNameCheck, + string commitMessageNegativeRegex, string commitMessageRegex, @@ -85,6 +91,7 @@ private GetProjectPushRuleResult( AuthorEmailRegex = authorEmailRegex; BranchNameRegex = branchNameRegex; CommitCommitterCheck = commitCommitterCheck; + CommitCommitterNameCheck = commitCommitterNameCheck; CommitMessageNegativeRegex = commitMessageNegativeRegex; CommitMessageRegex = commitMessageRegex; DenyDeleteTag = denyDeleteTag; diff --git a/sdk/dotnet/Outputs/GetProjectsProjectResult.cs b/sdk/dotnet/Outputs/GetProjectsProjectResult.cs index 14e63438..b59d05b6 100644 --- a/sdk/dotnet/Outputs/GetProjectsProjectResult.cs +++ b/sdk/dotnet/Outputs/GetProjectsProjectResult.cs @@ -118,10 +118,6 @@ public sealed class GetProjectsProjectResult /// public readonly string Description; /// - /// Disable email notifications. - /// - public readonly bool EmailsDisabled; - /// /// Enable email notifications. /// public readonly bool EmailsEnabled; @@ -295,10 +291,6 @@ public sealed class GetProjectsProjectResult /// public readonly ImmutableArray Permissions; /// - /// Whether the project is public. - /// - public readonly bool Public; - /// /// Whether public builds are enabled for the project. /// public readonly bool PublicBuilds; @@ -457,8 +449,6 @@ private GetProjectsProjectResult( string description, - bool emailsDisabled, - bool emailsEnabled, bool emptyRepo, @@ -547,8 +537,6 @@ private GetProjectsProjectResult( ImmutableArray permissions, - bool @public, - bool publicBuilds, string readmeUrl, @@ -627,7 +615,6 @@ private GetProjectsProjectResult( CustomAttributes = customAttributes; DefaultBranch = defaultBranch; Description = description; - EmailsDisabled = emailsDisabled; EmailsEnabled = emailsEnabled; EmptyRepo = emptyRepo; EnvironmentsAccessLevel = environmentsAccessLevel; @@ -672,7 +659,6 @@ private GetProjectsProjectResult( Path = path; PathWithNamespace = pathWithNamespace; Permissions = permissions; - Public = @public; PublicBuilds = publicBuilds; ReadmeUrl = readmeUrl; ReleasesAccessLevel = releasesAccessLevel; diff --git a/sdk/dotnet/Outputs/GroupPushRules.cs b/sdk/dotnet/Outputs/GroupPushRules.cs index 095e40b5..bbf922e1 100644 --- a/sdk/dotnet/Outputs/GroupPushRules.cs +++ b/sdk/dotnet/Outputs/GroupPushRules.cs @@ -26,6 +26,10 @@ public sealed class GroupPushRules /// public readonly bool? CommitCommitterCheck; /// + /// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + /// + public readonly bool? CommitCommitterNameCheck; + /// /// No commit message is allowed to match this regex, for example `ssh\:\/\/`. /// public readonly string? CommitMessageNegativeRegex; @@ -66,6 +70,8 @@ private GroupPushRules( bool? commitCommitterCheck, + bool? commitCommitterNameCheck, + string? commitMessageNegativeRegex, string? commitMessageRegex, @@ -85,6 +91,7 @@ private GroupPushRules( AuthorEmailRegex = authorEmailRegex; BranchNameRegex = branchNameRegex; CommitCommitterCheck = commitCommitterCheck; + CommitCommitterNameCheck = commitCommitterNameCheck; CommitMessageNegativeRegex = commitMessageNegativeRegex; CommitMessageRegex = commitMessageRegex; DenyDeleteTag = denyDeleteTag; diff --git a/sdk/dotnet/Outputs/ProjectPushRules.cs b/sdk/dotnet/Outputs/ProjectPushRules.cs index 6ad9283a..d4583a12 100644 --- a/sdk/dotnet/Outputs/ProjectPushRules.cs +++ b/sdk/dotnet/Outputs/ProjectPushRules.cs @@ -26,7 +26,11 @@ public sealed class ProjectPushRules /// public readonly bool? CommitCommitterCheck; /// - /// No commit message is allowed to match this regex, for example `ssh\:\/\/`. + /// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + /// + public readonly bool? CommitCommitterNameCheck; + /// + /// No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. /// public readonly string? CommitMessageNegativeRegex; /// @@ -66,6 +70,8 @@ private ProjectPushRules( bool? commitCommitterCheck, + bool? commitCommitterNameCheck, + string? commitMessageNegativeRegex, string? commitMessageRegex, @@ -85,6 +91,7 @@ private ProjectPushRules( AuthorEmailRegex = authorEmailRegex; BranchNameRegex = branchNameRegex; CommitCommitterCheck = commitCommitterCheck; + CommitCommitterNameCheck = commitCommitterNameCheck; CommitMessageNegativeRegex = commitMessageNegativeRegex; CommitMessageRegex = commitMessageRegex; DenyDeleteTag = denyDeleteTag; diff --git a/sdk/dotnet/PipelineSchedule.cs b/sdk/dotnet/PipelineSchedule.cs index a245df54..1531a991 100644 --- a/sdk/dotnet/PipelineSchedule.cs +++ b/sdk/dotnet/PipelineSchedule.cs @@ -28,7 +28,7 @@ namespace Pulumi.GitLab /// { /// Project = "12345", /// Description = "Used to schedule builds", - /// Ref = "master", + /// Ref = "refs/heads/main", /// Cron = "0 1 * * *", /// }); /// @@ -89,7 +89,7 @@ public partial class PipelineSchedule : global::Pulumi.CustomResource public Output Project { get; private set; } = null!; /// - /// The branch/tag name to be triggered. + /// The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. /// [Output("ref")] public Output Ref { get; private set; } = null!; @@ -174,7 +174,7 @@ public sealed class PipelineScheduleArgs : global::Pulumi.ResourceArgs public Input Project { get; set; } = null!; /// - /// The branch/tag name to be triggered. + /// The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. /// [Input("ref", required: true)] public Input Ref { get; set; } = null!; @@ -233,7 +233,7 @@ public sealed class PipelineScheduleState : global::Pulumi.ResourceArgs public Input? Project { get; set; } /// - /// The branch/tag name to be triggered. + /// The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. /// [Input("ref")] public Input? Ref { get; set; } diff --git a/sdk/dotnet/PipelineScheduleVariable.cs b/sdk/dotnet/PipelineScheduleVariable.cs index d21a9174..2da397ae 100644 --- a/sdk/dotnet/PipelineScheduleVariable.cs +++ b/sdk/dotnet/PipelineScheduleVariable.cs @@ -78,6 +78,12 @@ public partial class PipelineScheduleVariable : global::Pulumi.CustomResource [Output("value")] public Output Value { get; private set; } = null!; + /// + /// The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + /// + [Output("variableType")] + public Output VariableType { get; private set; } = null!; + /// /// Create a PipelineScheduleVariable resource with the given unique name, arguments, and options. @@ -148,6 +154,12 @@ public sealed class PipelineScheduleVariableArgs : global::Pulumi.ResourceArgs [Input("value", required: true)] public Input Value { get; set; } = null!; + /// + /// The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + /// + [Input("variableType")] + public Input? VariableType { get; set; } + public PipelineScheduleVariableArgs() { } @@ -180,6 +192,12 @@ public sealed class PipelineScheduleVariableState : global::Pulumi.ResourceArgs [Input("value")] public Input? Value { get; set; } + /// + /// The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + /// + [Input("variableType")] + public Input? VariableType { get; set; } + public PipelineScheduleVariableState() { } diff --git a/sdk/dotnet/PipelineTrigger.cs b/sdk/dotnet/PipelineTrigger.cs index 82991bf4..6f794b09 100644 --- a/sdk/dotnet/PipelineTrigger.cs +++ b/sdk/dotnet/PipelineTrigger.cs @@ -63,7 +63,7 @@ public partial class PipelineTrigger : global::Pulumi.CustomResource public Output Project { get; private set; } = null!; /// - /// The pipeline trigger token. + /// The pipeline trigger token. This value is not available during import. /// [Output("token")] public Output Token { get; private set; } = null!; @@ -160,7 +160,7 @@ public sealed class PipelineTriggerState : global::Pulumi.ResourceArgs private Input? _token; /// - /// The pipeline trigger token. + /// The pipeline trigger token. This value is not available during import. /// public Input? Token { diff --git a/sdk/dotnet/Project.cs b/sdk/dotnet/Project.cs index e411b200..507d603f 100644 --- a/sdk/dotnet/Project.cs +++ b/sdk/dotnet/Project.cs @@ -190,12 +190,6 @@ public partial class Project : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; - /// - /// Disable email notifications. - /// - [Output("emailsDisabled")] - public Output EmailsDisabled { get; private set; } = null!; - /// /// Enable email notifications. /// @@ -842,12 +836,6 @@ public sealed class ProjectArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } - /// - /// Disable email notifications. - /// - [Input("emailsDisabled")] - public Input? EmailsDisabled { get; set; } - /// /// Enable email notifications. /// @@ -1443,12 +1431,6 @@ public sealed class ProjectState : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } - /// - /// Disable email notifications. - /// - [Input("emailsDisabled")] - public Input? EmailsDisabled { get; set; } - /// /// Enable email notifications. /// diff --git a/sdk/dotnet/ProjectAccessToken.cs b/sdk/dotnet/ProjectAccessToken.cs index 39ec9964..7c00447a 100644 --- a/sdk/dotnet/ProjectAccessToken.cs +++ b/sdk/dotnet/ProjectAccessToken.cs @@ -66,7 +66,7 @@ namespace Pulumi.GitLab public partial class ProjectAccessToken : global::Pulumi.CustomResource { /// - /// The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + /// The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. /// [Output("accessLevel")] public Output AccessLevel { get; private set; } = null!; @@ -182,7 +182,7 @@ public static ProjectAccessToken Get(string name, Input id, ProjectAcces public sealed class ProjectAccessTokenArgs : global::Pulumi.ResourceArgs { /// - /// The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + /// The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. /// [Input("accessLevel")] public Input? AccessLevel { get; set; } @@ -232,7 +232,7 @@ public ProjectAccessTokenArgs() public sealed class ProjectAccessTokenState : global::Pulumi.ResourceArgs { /// - /// The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + /// The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. /// [Input("accessLevel")] public Input? AccessLevel { get; set; } diff --git a/sdk/dotnet/ProjectJobTokenScope.cs b/sdk/dotnet/ProjectJobTokenScope.cs index cc46c20d..85d4e693 100644 --- a/sdk/dotnet/ProjectJobTokenScope.cs +++ b/sdk/dotnet/ProjectJobTokenScope.cs @@ -11,12 +11,15 @@ namespace Pulumi.GitLab { /// /// The `gitlab.ProjectJobTokenScope` resource allows to manage the CI/CD Job Token scope in a project. + /// Any projects added to the CI/CD Job Token scope outside of TF will be untouched by the resource. + /// + /// > Conflicts with the use of `gitlab.ProjectJobTokenScopes` when used on the same project. Use one or the other to ensure the desired state. /// /// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) /// /// ## Import /// - /// GitLab project environments can be imported using an id made up of `projectId:targetProjectId`, e.g. + /// GitLab project job token scopes can be imported using an id made up of `projectId:targetProjectId`, e.g. /// /// ```sh /// $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:321 diff --git a/sdk/dotnet/ProjectJobTokenScopes.cs b/sdk/dotnet/ProjectJobTokenScopes.cs new file mode 100644 index 00000000..a885958f --- /dev/null +++ b/sdk/dotnet/ProjectJobTokenScopes.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.GitLab +{ + /// + /// The `gitlab.ProjectJobTokenScopes` resource allows to manage the CI/CD Job Token scopes in a project. + /// Any project not within the defined set in this attribute will be removed, which allows this resource to be used as an explicit deny. + /// + /// > Conflicts with the use of `gitlab.ProjectJobTokenScope` when used on the same project. Use one or the other to ensure the desired state. + /// + /// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) + /// + /// ## Import + /// + /// GitLab project job token scopes can be imported using an id made up of just the `project_id` as an integer + /// + /// ```sh + /// $ pulumi import gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes bar 123 + /// ``` + /// + [GitLabResourceType("gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes")] + public partial class ProjectJobTokenScopes : global::Pulumi.CustomResource + { + /// + /// The ID of the project. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// A set of project IDs that are in the CI/CD job token inbound allowlist. + /// + [Output("targetProjectIds")] + public Output> TargetProjectIds { get; private set; } = null!; + + + /// + /// Create a ProjectJobTokenScopes resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ProjectJobTokenScopes(string name, ProjectJobTokenScopesArgs args, CustomResourceOptions? options = null) + : base("gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes", name, args ?? new ProjectJobTokenScopesArgs(), MakeResourceOptions(options, "")) + { + } + + private ProjectJobTokenScopes(string name, Input id, ProjectJobTokenScopesState? state = null, CustomResourceOptions? options = null) + : base("gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ProjectJobTokenScopes resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static ProjectJobTokenScopes Get(string name, Input id, ProjectJobTokenScopesState? state = null, CustomResourceOptions? options = null) + { + return new ProjectJobTokenScopes(name, id, state, options); + } + } + + public sealed class ProjectJobTokenScopesArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the project. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("targetProjectIds", required: true)] + private InputList? _targetProjectIds; + + /// + /// A set of project IDs that are in the CI/CD job token inbound allowlist. + /// + public InputList TargetProjectIds + { + get => _targetProjectIds ?? (_targetProjectIds = new InputList()); + set => _targetProjectIds = value; + } + + public ProjectJobTokenScopesArgs() + { + } + public static new ProjectJobTokenScopesArgs Empty => new ProjectJobTokenScopesArgs(); + } + + public sealed class ProjectJobTokenScopesState : global::Pulumi.ResourceArgs + { + /// + /// The ID of the project. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + [Input("targetProjectIds")] + private InputList? _targetProjectIds; + + /// + /// A set of project IDs that are in the CI/CD job token inbound allowlist. + /// + public InputList TargetProjectIds + { + get => _targetProjectIds ?? (_targetProjectIds = new InputList()); + set => _targetProjectIds = value; + } + + public ProjectJobTokenScopesState() + { + } + public static new ProjectJobTokenScopesState Empty => new ProjectJobTokenScopesState(); + } +} diff --git a/sdk/dotnet/ProjectMembership.cs b/sdk/dotnet/ProjectMembership.cs index 573a9784..d816e185 100644 --- a/sdk/dotnet/ProjectMembership.cs +++ b/sdk/dotnet/ProjectMembership.cs @@ -56,7 +56,7 @@ namespace Pulumi.GitLab public partial class ProjectMembership : global::Pulumi.CustomResource { /// - /// The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Output("accessLevel")] public Output AccessLevel { get; private set; } = null!; @@ -126,7 +126,7 @@ public static ProjectMembership Get(string name, Input id, ProjectMember public sealed class ProjectMembershipArgs : global::Pulumi.ResourceArgs { /// - /// The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("accessLevel", required: true)] public Input AccessLevel { get; set; } = null!; @@ -158,7 +158,7 @@ public ProjectMembershipArgs() public sealed class ProjectMembershipState : global::Pulumi.ResourceArgs { /// - /// The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("accessLevel")] public Input? AccessLevel { get; set; } diff --git a/sdk/dotnet/ProjectProtectedEnvironment.cs b/sdk/dotnet/ProjectProtectedEnvironment.cs index 2ab41c51..21208ba5 100644 --- a/sdk/dotnet/ProjectProtectedEnvironment.cs +++ b/sdk/dotnet/ProjectProtectedEnvironment.cs @@ -55,12 +55,6 @@ public partial class ProjectProtectedEnvironment : global::Pulumi.CustomResource [Output("project")] public Output Project { get; private set; } = null!; - /// - /// The number of approvals required to deploy to this environment. - /// - [Output("requiredApprovalCount")] - public Output RequiredApprovalCount { get; private set; } = null!; - /// /// Create a ProjectProtectedEnvironment resource with the given unique name, arguments, and options. @@ -143,12 +137,6 @@ public InputList Deploy [Input("project", required: true)] public Input Project { get; set; } = null!; - /// - /// The number of approvals required to deploy to this environment. - /// - [Input("requiredApprovalCount")] - public Input? RequiredApprovalCount { get; set; } - public ProjectProtectedEnvironmentArgs() { } @@ -193,12 +181,6 @@ public InputList Dep [Input("project")] public Input? Project { get; set; } - /// - /// The number of approvals required to deploy to this environment. - /// - [Input("requiredApprovalCount")] - public Input? RequiredApprovalCount { get; set; } - public ProjectProtectedEnvironmentState() { } diff --git a/sdk/dotnet/ProjectPushRules.cs b/sdk/dotnet/ProjectPushRules.cs new file mode 100644 index 00000000..ddf1d810 --- /dev/null +++ b/sdk/dotnet/ProjectPushRules.cs @@ -0,0 +1,347 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.GitLab +{ + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using GitLab = Pulumi.GitLab; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var sample = new GitLab.ProjectPushRules("sample", new() + /// { + /// Project = "42", + /// AuthorEmailRegex = "@gitlab.com$", + /// BranchNameRegex = "(feat|fix)\\/*", + /// CommitCommitterCheck = true, + /// CommitCommitterNameCheck = true, + /// CommitMessageNegativeRegex = "ssh\\:\\/\\/", + /// CommitMessageRegex = "(feat|fix):.*", + /// DenyDeleteTag = false, + /// FileNameRegex = "(jar|exe)$", + /// MaxFileSize = 4, + /// MemberCheck = true, + /// PreventSecrets = true, + /// RejectUnsignedCommits = false, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Gitlab project push rules can be imported with a key composed of `<project_id>`, e.g. + /// + /// ```sh + /// $ pulumi import gitlab:index/projectPushRules:ProjectPushRules sample "42" + /// ``` + /// + [GitLabResourceType("gitlab:index/projectPushRules:ProjectPushRules")] + public partial class ProjectPushRules : global::Pulumi.CustomResource + { + /// + /// All commit author emails must match this regex, e.g. `@my-company.com$`. + /// + [Output("authorEmailRegex")] + public Output AuthorEmailRegex { get; private set; } = null!; + + /// + /// All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + /// + [Output("branchNameRegex")] + public Output BranchNameRegex { get; private set; } = null!; + + /// + /// Users can only push commits to this repository that were committed with one of their own verified emails. + /// + [Output("commitCommitterCheck")] + public Output CommitCommitterCheck { get; private set; } = null!; + + /// + /// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + /// + [Output("commitCommitterNameCheck")] + public Output CommitCommitterNameCheck { get; private set; } = null!; + + /// + /// No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + /// + [Output("commitMessageNegativeRegex")] + public Output CommitMessageNegativeRegex { get; private set; } = null!; + + /// + /// All commit messages must match this regex, e.g. `Fixed \d+\..*`. + /// + [Output("commitMessageRegex")] + public Output CommitMessageRegex { get; private set; } = null!; + + /// + /// Deny deleting a tag. + /// + [Output("denyDeleteTag")] + public Output DenyDeleteTag { get; private set; } = null!; + + /// + /// All committed filenames must not match this regex, e.g. `(jar|exe)$`. + /// + [Output("fileNameRegex")] + public Output FileNameRegex { get; private set; } = null!; + + /// + /// Maximum file size (MB). + /// + [Output("maxFileSize")] + public Output MaxFileSize { get; private set; } = null!; + + /// + /// Restrict commits by author (email) to existing GitLab users. + /// + [Output("memberCheck")] + public Output MemberCheck { get; private set; } = null!; + + /// + /// GitLab will reject any files that are likely to contain secrets. + /// + [Output("preventSecrets")] + public Output PreventSecrets { get; private set; } = null!; + + /// + /// The ID or URL-encoded path of the project. + /// + [Output("project")] + public Output Project { get; private set; } = null!; + + /// + /// Reject commit when it’s not signed. + /// + [Output("rejectUnsignedCommits")] + public Output RejectUnsignedCommits { get; private set; } = null!; + + + /// + /// Create a ProjectPushRules resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ProjectPushRules(string name, ProjectPushRulesArgs args, CustomResourceOptions? options = null) + : base("gitlab:index/projectPushRules:ProjectPushRules", name, args ?? new ProjectPushRulesArgs(), MakeResourceOptions(options, "")) + { + } + + private ProjectPushRules(string name, Input id, ProjectPushRulesState? state = null, CustomResourceOptions? options = null) + : base("gitlab:index/projectPushRules:ProjectPushRules", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ProjectPushRules resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static ProjectPushRules Get(string name, Input id, ProjectPushRulesState? state = null, CustomResourceOptions? options = null) + { + return new ProjectPushRules(name, id, state, options); + } + } + + public sealed class ProjectPushRulesArgs : global::Pulumi.ResourceArgs + { + /// + /// All commit author emails must match this regex, e.g. `@my-company.com$`. + /// + [Input("authorEmailRegex")] + public Input? AuthorEmailRegex { get; set; } + + /// + /// All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + /// + [Input("branchNameRegex")] + public Input? BranchNameRegex { get; set; } + + /// + /// Users can only push commits to this repository that were committed with one of their own verified emails. + /// + [Input("commitCommitterCheck")] + public Input? CommitCommitterCheck { get; set; } + + /// + /// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + /// + [Input("commitCommitterNameCheck")] + public Input? CommitCommitterNameCheck { get; set; } + + /// + /// No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + /// + [Input("commitMessageNegativeRegex")] + public Input? CommitMessageNegativeRegex { get; set; } + + /// + /// All commit messages must match this regex, e.g. `Fixed \d+\..*`. + /// + [Input("commitMessageRegex")] + public Input? CommitMessageRegex { get; set; } + + /// + /// Deny deleting a tag. + /// + [Input("denyDeleteTag")] + public Input? DenyDeleteTag { get; set; } + + /// + /// All committed filenames must not match this regex, e.g. `(jar|exe)$`. + /// + [Input("fileNameRegex")] + public Input? FileNameRegex { get; set; } + + /// + /// Maximum file size (MB). + /// + [Input("maxFileSize")] + public Input? MaxFileSize { get; set; } + + /// + /// Restrict commits by author (email) to existing GitLab users. + /// + [Input("memberCheck")] + public Input? MemberCheck { get; set; } + + /// + /// GitLab will reject any files that are likely to contain secrets. + /// + [Input("preventSecrets")] + public Input? PreventSecrets { get; set; } + + /// + /// The ID or URL-encoded path of the project. + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + /// + /// Reject commit when it’s not signed. + /// + [Input("rejectUnsignedCommits")] + public Input? RejectUnsignedCommits { get; set; } + + public ProjectPushRulesArgs() + { + } + public static new ProjectPushRulesArgs Empty => new ProjectPushRulesArgs(); + } + + public sealed class ProjectPushRulesState : global::Pulumi.ResourceArgs + { + /// + /// All commit author emails must match this regex, e.g. `@my-company.com$`. + /// + [Input("authorEmailRegex")] + public Input? AuthorEmailRegex { get; set; } + + /// + /// All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + /// + [Input("branchNameRegex")] + public Input? BranchNameRegex { get; set; } + + /// + /// Users can only push commits to this repository that were committed with one of their own verified emails. + /// + [Input("commitCommitterCheck")] + public Input? CommitCommitterCheck { get; set; } + + /// + /// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + /// + [Input("commitCommitterNameCheck")] + public Input? CommitCommitterNameCheck { get; set; } + + /// + /// No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + /// + [Input("commitMessageNegativeRegex")] + public Input? CommitMessageNegativeRegex { get; set; } + + /// + /// All commit messages must match this regex, e.g. `Fixed \d+\..*`. + /// + [Input("commitMessageRegex")] + public Input? CommitMessageRegex { get; set; } + + /// + /// Deny deleting a tag. + /// + [Input("denyDeleteTag")] + public Input? DenyDeleteTag { get; set; } + + /// + /// All committed filenames must not match this regex, e.g. `(jar|exe)$`. + /// + [Input("fileNameRegex")] + public Input? FileNameRegex { get; set; } + + /// + /// Maximum file size (MB). + /// + [Input("maxFileSize")] + public Input? MaxFileSize { get; set; } + + /// + /// Restrict commits by author (email) to existing GitLab users. + /// + [Input("memberCheck")] + public Input? MemberCheck { get; set; } + + /// + /// GitLab will reject any files that are likely to contain secrets. + /// + [Input("preventSecrets")] + public Input? PreventSecrets { get; set; } + + /// + /// The ID or URL-encoded path of the project. + /// + [Input("project")] + public Input? Project { get; set; } + + /// + /// Reject commit when it’s not signed. + /// + [Input("rejectUnsignedCommits")] + public Input? RejectUnsignedCommits { get; set; } + + public ProjectPushRulesState() + { + } + public static new ProjectPushRulesState Empty => new ProjectPushRulesState(); + } +} diff --git a/sdk/dotnet/ProjectShareGroup.cs b/sdk/dotnet/ProjectShareGroup.cs index 2e90f854..b19f1fce 100644 --- a/sdk/dotnet/ProjectShareGroup.cs +++ b/sdk/dotnet/ProjectShareGroup.cs @@ -46,13 +46,13 @@ namespace Pulumi.GitLab public partial class ProjectShareGroup : global::Pulumi.CustomResource { /// - /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Output("accessLevel")] public Output AccessLevel { get; private set; } = null!; /// - /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Output("groupAccess")] public Output GroupAccess { get; private set; } = null!; @@ -116,13 +116,13 @@ public static ProjectShareGroup Get(string name, Input id, ProjectShareG public sealed class ProjectShareGroupArgs : global::Pulumi.ResourceArgs { /// - /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("accessLevel")] public Input? AccessLevel { get; set; } /// - /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("groupAccess")] public Input? GroupAccess { get; set; } @@ -148,13 +148,13 @@ public ProjectShareGroupArgs() public sealed class ProjectShareGroupState : global::Pulumi.ResourceArgs { /// - /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("accessLevel")] public Input? AccessLevel { get; set; } /// - /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + /// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` /// [Input("groupAccess")] public Input? GroupAccess { get; set; } diff --git a/sdk/dotnet/Pulumi.GitLab.csproj b/sdk/dotnet/Pulumi.GitLab.csproj index def46047..367fb15d 100644 --- a/sdk/dotnet/Pulumi.GitLab.csproj +++ b/sdk/dotnet/Pulumi.GitLab.csproj @@ -9,7 +9,7 @@ https://pulumi.io https://github.com/pulumi/pulumi-gitlab logo.png - 7.0.0-alpha.0+dev + 8.0.0 net6.0 enable diff --git a/sdk/dotnet/UserRunner.cs b/sdk/dotnet/UserRunner.cs index 5c542014..a3eec6d9 100644 --- a/sdk/dotnet/UserRunner.cs +++ b/sdk/dotnet/UserRunner.cs @@ -13,6 +13,84 @@ namespace Pulumi.GitLab /// The `gitlab.UserRunner` resource allows creating a GitLab runner using the new [GitLab Runner Registration Flow](https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html). /// /// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html#create-a-runner) + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using GitLab = Pulumi.GitLab; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Create a project runner + /// var projectRunner = new GitLab.UserRunner("project_runner", new() + /// { + /// RunnerType = "project_type", + /// ProjectId = 123456, + /// Description = "A runner created using a user access token instead of a registration token", + /// TagLists = new[] + /// { + /// "a-tag", + /// "other-tag", + /// }, + /// Untagged = true, + /// }); + /// + /// // Create a group runner + /// var groupRunner = new GitLab.UserRunner("group_runner", new() + /// { + /// RunnerType = "group_type", + /// GroupId = 123456, + /// }); + /// + /// // Create a instance runner + /// var instanceRunner = new GitLab.UserRunner("instance_runner", new() + /// { + /// RunnerType = "instance_type", + /// }); + /// + /// var configToml = groupRunner.Token.Apply(token => @$"concurrent = 1 + /// check_interval = 0 + /// + /// [session_server] + /// session_timeout = 1800 + /// + /// [[runners]] + /// name = ""my_gitlab_runner"" + /// url = ""https://example.gitlab.com"" + /// token = ""{token}"" + /// executor = ""docker"" + /// + /// [runners.custom_build_dir] + /// [runners.cache] + /// [runners.cache.s3] + /// [runners.cache.gcs] + /// [runners.cache.azure] + /// [runners.docker] + /// tls_verify = false + /// image = ""ubuntu"" + /// privileged = true + /// disable_entrypoint_overwrite = false + /// oom_kill_disable = false + /// disable_cache = false + /// volumes = [""/cache"", ""/certs/client""] + /// shm_size = 0 + /// "); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// You can import a gitlab runner using its ID + /// + /// Note: Importing a runner will not provide access to the `token` attribute + /// + /// ```sh + /// $ pulumi import gitlab:index/userRunner:UserRunner example 12345 + /// ``` /// [GitLabResourceType("gitlab:index/userRunner:UserRunner")] public partial class UserRunner : global::Pulumi.CustomResource diff --git a/sdk/dotnet/pulumi-plugin.json b/sdk/dotnet/pulumi-plugin.json index 44dbfcf0..52c4492e 100644 --- a/sdk/dotnet/pulumi-plugin.json +++ b/sdk/dotnet/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "gitlab", - "version": "7.0.0-alpha.0+dev" + "version": "8.0.0" } diff --git a/sdk/go.mod b/sdk/go.mod index e53d88e4..40789ec9 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -1,4 +1,4 @@ -module github.com/pulumi/pulumi-gitlab/sdk/v7 +module github.com/pulumi/pulumi-gitlab/sdk/v8 go 1.21 @@ -66,7 +66,6 @@ require ( github.com/spf13/cast v1.4.1 // indirect github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/stretchr/objx v0.5.0 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect diff --git a/sdk/go.sum b/sdk/go.sum index dc9d55c4..85c971cf 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -172,17 +172,13 @@ github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= diff --git a/sdk/go/gitlab/application.go b/sdk/go/gitlab/application.go index a625a390..9c40ae18 100644 --- a/sdk/go/gitlab/application.go +++ b/sdk/go/gitlab/application.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -26,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/applicationSettings.go b/sdk/go/gitlab/applicationSettings.go index eff25b9b..52e37810 100644 --- a/sdk/go/gitlab/applicationSettings.go +++ b/sdk/go/gitlab/applicationSettings.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -297,6 +297,8 @@ type ApplicationSettings struct { MaxSshKeyLifetime pulumi.IntOutput `pulumi:"maxSshKeyLifetime"` // A method call is only tracked when it takes longer than the given amount of milliseconds. MetricsMethodCallThreshold pulumi.IntOutput `pulumi:"metricsMethodCallThreshold"` + // Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + MinimumPasswordLength pulumi.IntOutput `pulumi:"minimumPasswordLength"` // Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. MirrorAvailable pulumi.BoolOutput `pulumi:"mirrorAvailable"` // Minimum capacity to be available before scheduling more mirrors preemptively. @@ -882,6 +884,8 @@ type applicationSettingsState struct { MaxSshKeyLifetime *int `pulumi:"maxSshKeyLifetime"` // A method call is only tracked when it takes longer than the given amount of milliseconds. MetricsMethodCallThreshold *int `pulumi:"metricsMethodCallThreshold"` + // Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + MinimumPasswordLength *int `pulumi:"minimumPasswordLength"` // Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. MirrorAvailable *bool `pulumi:"mirrorAvailable"` // Minimum capacity to be available before scheduling more mirrors preemptively. @@ -1375,6 +1379,8 @@ type ApplicationSettingsState struct { MaxSshKeyLifetime pulumi.IntPtrInput // A method call is only tracked when it takes longer than the given amount of milliseconds. MetricsMethodCallThreshold pulumi.IntPtrInput + // Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + MinimumPasswordLength pulumi.IntPtrInput // Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. MirrorAvailable pulumi.BoolPtrInput // Minimum capacity to be available before scheduling more mirrors preemptively. @@ -1872,6 +1878,8 @@ type applicationSettingsArgs struct { MaxSshKeyLifetime *int `pulumi:"maxSshKeyLifetime"` // A method call is only tracked when it takes longer than the given amount of milliseconds. MetricsMethodCallThreshold *int `pulumi:"metricsMethodCallThreshold"` + // Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + MinimumPasswordLength *int `pulumi:"minimumPasswordLength"` // Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. MirrorAvailable *bool `pulumi:"mirrorAvailable"` // Minimum capacity to be available before scheduling more mirrors preemptively. @@ -2366,6 +2374,8 @@ type ApplicationSettingsArgs struct { MaxSshKeyLifetime pulumi.IntPtrInput // A method call is only tracked when it takes longer than the given amount of milliseconds. MetricsMethodCallThreshold pulumi.IntPtrInput + // Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + MinimumPasswordLength pulumi.IntPtrInput // Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. MirrorAvailable pulumi.BoolPtrInput // Minimum capacity to be available before scheduling more mirrors preemptively. @@ -3361,6 +3371,11 @@ func (o ApplicationSettingsOutput) MetricsMethodCallThreshold() pulumi.IntOutput return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.MetricsMethodCallThreshold }).(pulumi.IntOutput) } +// Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. +func (o ApplicationSettingsOutput) MinimumPasswordLength() pulumi.IntOutput { + return o.ApplyT(func(v *ApplicationSettings) pulumi.IntOutput { return v.MinimumPasswordLength }).(pulumi.IntOutput) +} + // Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. func (o ApplicationSettingsOutput) MirrorAvailable() pulumi.BoolOutput { return o.ApplyT(func(v *ApplicationSettings) pulumi.BoolOutput { return v.MirrorAvailable }).(pulumi.BoolOutput) diff --git a/sdk/go/gitlab/branch.go b/sdk/go/gitlab/branch.go index b358dbfd..a4d7ce7a 100644 --- a/sdk/go/gitlab/branch.go +++ b/sdk/go/gitlab/branch.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/branchProtection.go b/sdk/go/gitlab/branchProtection.go index 056a6dbb..cc557e8b 100644 --- a/sdk/go/gitlab/branchProtection.go +++ b/sdk/go/gitlab/branchProtection.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/clusterAgent.go b/sdk/go/gitlab/clusterAgent.go index 140019f8..6aad2313 100644 --- a/sdk/go/gitlab/clusterAgent.go +++ b/sdk/go/gitlab/clusterAgent.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -35,7 +35,7 @@ import ( // // "fmt" // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi-std/sdk/go/std" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // diff --git a/sdk/go/gitlab/clusterAgentToken.go b/sdk/go/gitlab/clusterAgentToken.go index 7f3bb50e..66059d11 100644 --- a/sdk/go/gitlab/clusterAgentToken.go +++ b/sdk/go/gitlab/clusterAgentToken.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -27,7 +27,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi-helm/sdk/v1/go/helm" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // diff --git a/sdk/go/gitlab/complianceFramework.go b/sdk/go/gitlab/complianceFramework.go index 4c44a1e7..0dfabaee 100644 --- a/sdk/go/gitlab/complianceFramework.go +++ b/sdk/go/gitlab/complianceFramework.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -29,7 +29,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/config/config.go b/sdk/go/gitlab/config/config.go index 426a3890..f14168e7 100644 --- a/sdk/go/gitlab/config/config.go +++ b/sdk/go/gitlab/config/config.go @@ -4,7 +4,7 @@ package config import ( - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" ) diff --git a/sdk/go/gitlab/deployKey.go b/sdk/go/gitlab/deployKey.go index cce736d4..9e13a330 100644 --- a/sdk/go/gitlab/deployKey.go +++ b/sdk/go/gitlab/deployKey.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/deployKeyEnable.go b/sdk/go/gitlab/deployKeyEnable.go index 6f454ba6..1cd0b607 100644 --- a/sdk/go/gitlab/deployKeyEnable.go +++ b/sdk/go/gitlab/deployKeyEnable.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/deployToken.go b/sdk/go/gitlab/deployToken.go index 12dcc080..a331a33a 100644 --- a/sdk/go/gitlab/deployToken.go +++ b/sdk/go/gitlab/deployToken.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getApplication.go b/sdk/go/gitlab/getApplication.go index 757cd215..847657aa 100644 --- a/sdk/go/gitlab/getApplication.go +++ b/sdk/go/gitlab/getApplication.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getBranch.go b/sdk/go/gitlab/getBranch.go index 2833a800..42b4fe77 100644 --- a/sdk/go/gitlab/getBranch.go +++ b/sdk/go/gitlab/getBranch.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getClusterAgent.go b/sdk/go/gitlab/getClusterAgent.go index 38bcdb67..c4076270 100644 --- a/sdk/go/gitlab/getClusterAgent.go +++ b/sdk/go/gitlab/getClusterAgent.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -24,7 +24,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getClusterAgents.go b/sdk/go/gitlab/getClusterAgents.go index 2e2e96d8..2a7ff57b 100644 --- a/sdk/go/gitlab/getClusterAgents.go +++ b/sdk/go/gitlab/getClusterAgents.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -24,7 +24,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getComplianceFramework.go b/sdk/go/gitlab/getComplianceFramework.go index de84db4b..0d69c4b8 100644 --- a/sdk/go/gitlab/getComplianceFramework.go +++ b/sdk/go/gitlab/getComplianceFramework.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getCurrentUser.go b/sdk/go/gitlab/getCurrentUser.go index 49580810..16b23ad9 100644 --- a/sdk/go/gitlab/getCurrentUser.go +++ b/sdk/go/gitlab/getCurrentUser.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getGroup.go b/sdk/go/gitlab/getGroup.go index f085bbb2..8cd7a3ce 100644 --- a/sdk/go/gitlab/getGroup.go +++ b/sdk/go/gitlab/getGroup.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getGroupHook.go b/sdk/go/gitlab/getGroupHook.go index f41ce7e0..5a71e0b8 100644 --- a/sdk/go/gitlab/getGroupHook.go +++ b/sdk/go/gitlab/getGroupHook.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getGroupHooks.go b/sdk/go/gitlab/getGroupHooks.go index 28669b39..30de3456 100644 --- a/sdk/go/gitlab/getGroupHooks.go +++ b/sdk/go/gitlab/getGroupHooks.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getGroupMembership.go b/sdk/go/gitlab/getGroupMembership.go index a365f4ab..96abc9c7 100644 --- a/sdk/go/gitlab/getGroupMembership.go +++ b/sdk/go/gitlab/getGroupMembership.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getGroupSubgroups.go b/sdk/go/gitlab/getGroupSubgroups.go index 64617a84..0041ecf9 100644 --- a/sdk/go/gitlab/getGroupSubgroups.go +++ b/sdk/go/gitlab/getGroupSubgroups.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getGroupVariable.go b/sdk/go/gitlab/getGroupVariable.go index 9c64d669..931b337e 100644 --- a/sdk/go/gitlab/getGroupVariable.go +++ b/sdk/go/gitlab/getGroupVariable.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getGroupVariables.go b/sdk/go/gitlab/getGroupVariables.go index 360cc5a1..0c2720da 100644 --- a/sdk/go/gitlab/getGroupVariables.go +++ b/sdk/go/gitlab/getGroupVariables.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getGroups.go b/sdk/go/gitlab/getGroups.go index 807a641d..afaebe82 100644 --- a/sdk/go/gitlab/getGroups.go +++ b/sdk/go/gitlab/getGroups.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -26,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getInstanceDeployKeys.go b/sdk/go/gitlab/getInstanceDeployKeys.go index dc3d1c38..051c6de0 100644 --- a/sdk/go/gitlab/getInstanceDeployKeys.go +++ b/sdk/go/gitlab/getInstanceDeployKeys.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getInstanceVariable.go b/sdk/go/gitlab/getInstanceVariable.go index 8dacc720..2c16cf60 100644 --- a/sdk/go/gitlab/getInstanceVariable.go +++ b/sdk/go/gitlab/getInstanceVariable.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -58,6 +58,8 @@ type LookupInstanceVariableArgs struct { // A collection of values returned by getInstanceVariable. type LookupInstanceVariableResult struct { + // The description of the variable. Maximum of 255 characters. + Description string `pulumi:"description"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // The name of the variable. @@ -112,6 +114,11 @@ func (o LookupInstanceVariableResultOutput) ToLookupInstanceVariableResultOutput return o } +// The description of the variable. Maximum of 255 characters. +func (o LookupInstanceVariableResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupInstanceVariableResult) string { return v.Description }).(pulumi.StringOutput) +} + // The provider-assigned unique ID for this managed resource. func (o LookupInstanceVariableResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupInstanceVariableResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/gitlab/getInstanceVariables.go b/sdk/go/gitlab/getInstanceVariables.go index 08bd5ea6..1cc7a69e 100644 --- a/sdk/go/gitlab/getInstanceVariables.go +++ b/sdk/go/gitlab/getInstanceVariables.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getMetadata.go b/sdk/go/gitlab/getMetadata.go index 63ed698b..7568af46 100644 --- a/sdk/go/gitlab/getMetadata.go +++ b/sdk/go/gitlab/getMetadata.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getProject.go b/sdk/go/gitlab/getProject.go index e5eb586a..afe9bc49 100644 --- a/sdk/go/gitlab/getProject.go +++ b/sdk/go/gitlab/getProject.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -72,10 +72,6 @@ type LookupProjectResult struct { DefaultBranch string `pulumi:"defaultBranch"` // A description of the project. Description string `pulumi:"description"` - // Disable email notifications. - // - // Deprecated: Use of `emailsDisabled` is deprecated. Use `emailsEnabled` instead. - EmailsDisabled bool `pulumi:"emailsDisabled"` // Enable email notifications. EmailsEnabled bool `pulumi:"emailsEnabled"` // Whether the project is empty. @@ -307,13 +303,6 @@ func (o LookupProjectResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectResult) string { return v.Description }).(pulumi.StringOutput) } -// Disable email notifications. -// -// Deprecated: Use of `emailsDisabled` is deprecated. Use `emailsEnabled` instead. -func (o LookupProjectResultOutput) EmailsDisabled() pulumi.BoolOutput { - return o.ApplyT(func(v LookupProjectResult) bool { return v.EmailsDisabled }).(pulumi.BoolOutput) -} - // Enable email notifications. func (o LookupProjectResultOutput) EmailsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectResult) bool { return v.EmailsEnabled }).(pulumi.BoolOutput) diff --git a/sdk/go/gitlab/getProjectBranches.go b/sdk/go/gitlab/getProjectBranches.go index 87bef0fe..3a8585ba 100644 --- a/sdk/go/gitlab/getProjectBranches.go +++ b/sdk/go/gitlab/getProjectBranches.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getProjectHook.go b/sdk/go/gitlab/getProjectHook.go index 16791dfe..552f9e5a 100644 --- a/sdk/go/gitlab/getProjectHook.go +++ b/sdk/go/gitlab/getProjectHook.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getProjectHooks.go b/sdk/go/gitlab/getProjectHooks.go index 697f3723..3aea71a6 100644 --- a/sdk/go/gitlab/getProjectHooks.go +++ b/sdk/go/gitlab/getProjectHooks.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getProjectIssue.go b/sdk/go/gitlab/getProjectIssue.go index c89170c4..50668c6f 100644 --- a/sdk/go/gitlab/getProjectIssue.go +++ b/sdk/go/gitlab/getProjectIssue.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getProjectIssues.go b/sdk/go/gitlab/getProjectIssues.go index 407ca916..7121f4ad 100644 --- a/sdk/go/gitlab/getProjectIssues.go +++ b/sdk/go/gitlab/getProjectIssues.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getProjectMembership.go b/sdk/go/gitlab/getProjectMembership.go index c1dc4a96..e1902c4f 100644 --- a/sdk/go/gitlab/getProjectMembership.go +++ b/sdk/go/gitlab/getProjectMembership.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getProjectMilestone.go b/sdk/go/gitlab/getProjectMilestone.go index 6231af14..c541449b 100644 --- a/sdk/go/gitlab/getProjectMilestone.go +++ b/sdk/go/gitlab/getProjectMilestone.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getProjectMilestones.go b/sdk/go/gitlab/getProjectMilestones.go index 6130a436..55c5a6ed 100644 --- a/sdk/go/gitlab/getProjectMilestones.go +++ b/sdk/go/gitlab/getProjectMilestones.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getProjectProtectedBranch.go b/sdk/go/gitlab/getProjectProtectedBranch.go index 8609b854..e8eb7998 100644 --- a/sdk/go/gitlab/getProjectProtectedBranch.go +++ b/sdk/go/gitlab/getProjectProtectedBranch.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getProjectProtectedBranches.go b/sdk/go/gitlab/getProjectProtectedBranches.go index 452a217d..065fe4a4 100644 --- a/sdk/go/gitlab/getProjectProtectedBranches.go +++ b/sdk/go/gitlab/getProjectProtectedBranches.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getProjectTag.go b/sdk/go/gitlab/getProjectTag.go index 0a6dc994..02c3e816 100644 --- a/sdk/go/gitlab/getProjectTag.go +++ b/sdk/go/gitlab/getProjectTag.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getProjectTags.go b/sdk/go/gitlab/getProjectTags.go index caab0d65..5ff11436 100644 --- a/sdk/go/gitlab/getProjectTags.go +++ b/sdk/go/gitlab/getProjectTags.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getProjectVariable.go b/sdk/go/gitlab/getProjectVariable.go index 5aca88c2..778bfa54 100644 --- a/sdk/go/gitlab/getProjectVariable.go +++ b/sdk/go/gitlab/getProjectVariable.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getProjectVariables.go b/sdk/go/gitlab/getProjectVariables.go index e340c33e..46b81c21 100644 --- a/sdk/go/gitlab/getProjectVariables.go +++ b/sdk/go/gitlab/getProjectVariables.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getProjects.go b/sdk/go/gitlab/getProjects.go index 15172043..ca4efe5d 100644 --- a/sdk/go/gitlab/getProjects.go +++ b/sdk/go/gitlab/getProjects.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -26,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getRelease.go b/sdk/go/gitlab/getRelease.go index 7466d535..975e4b08 100644 --- a/sdk/go/gitlab/getRelease.go +++ b/sdk/go/gitlab/getRelease.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getReleaseLink.go b/sdk/go/gitlab/getReleaseLink.go index 751fca68..d873238b 100644 --- a/sdk/go/gitlab/getReleaseLink.go +++ b/sdk/go/gitlab/getReleaseLink.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getReleaseLinks.go b/sdk/go/gitlab/getReleaseLinks.go index 54cc0a08..93c1989e 100644 --- a/sdk/go/gitlab/getReleaseLinks.go +++ b/sdk/go/gitlab/getReleaseLinks.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getRepositoryFile.go b/sdk/go/gitlab/getRepositoryFile.go index 35e77f7c..453ea7e4 100644 --- a/sdk/go/gitlab/getRepositoryFile.go +++ b/sdk/go/gitlab/getRepositoryFile.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getRepositoryTree.go b/sdk/go/gitlab/getRepositoryTree.go index 6bb116e9..3dc688d1 100644 --- a/sdk/go/gitlab/getRepositoryTree.go +++ b/sdk/go/gitlab/getRepositoryTree.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -22,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/getUser.go b/sdk/go/gitlab/getUser.go index bce234f9..d4e22dd1 100644 --- a/sdk/go/gitlab/getUser.go +++ b/sdk/go/gitlab/getUser.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getUserSshkeys.go b/sdk/go/gitlab/getUserSshkeys.go index 601d9f46..90a06839 100644 --- a/sdk/go/gitlab/getUserSshkeys.go +++ b/sdk/go/gitlab/getUserSshkeys.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/getUsers.go b/sdk/go/gitlab/getUsers.go index 10de4514..385a500b 100644 --- a/sdk/go/gitlab/getUsers.go +++ b/sdk/go/gitlab/getUsers.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -26,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/globalLevelNotifications.go b/sdk/go/gitlab/globalLevelNotifications.go index d61816e8..86dabb00 100644 --- a/sdk/go/gitlab/globalLevelNotifications.go +++ b/sdk/go/gitlab/globalLevelNotifications.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/group.go b/sdk/go/gitlab/group.go index f70de9be..e78d420d 100644 --- a/sdk/go/gitlab/group.go +++ b/sdk/go/gitlab/group.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -98,10 +98,6 @@ type Group struct { DefaultBranchProtection pulumi.IntOutput `pulumi:"defaultBranchProtection"` // The group's description. Description pulumi.StringPtrOutput `pulumi:"description"` - // Disable email notifications. - // - // Deprecated: use `emailsEnabled` instead - EmailsDisabled pulumi.BoolOutput `pulumi:"emailsDisabled"` // Enable email notifications. EmailsEnabled pulumi.BoolOutput `pulumi:"emailsEnabled"` // Can be set by administrators only. Additional CI/CD minutes for this group. @@ -203,10 +199,6 @@ type groupState struct { DefaultBranchProtection *int `pulumi:"defaultBranchProtection"` // The group's description. Description *string `pulumi:"description"` - // Disable email notifications. - // - // Deprecated: use `emailsEnabled` instead - EmailsDisabled *bool `pulumi:"emailsDisabled"` // Enable email notifications. EmailsEnabled *bool `pulumi:"emailsEnabled"` // Can be set by administrators only. Additional CI/CD minutes for this group. @@ -272,10 +264,6 @@ type GroupState struct { DefaultBranchProtection pulumi.IntPtrInput // The group's description. Description pulumi.StringPtrInput - // Disable email notifications. - // - // Deprecated: use `emailsEnabled` instead - EmailsDisabled pulumi.BoolPtrInput // Enable email notifications. EmailsEnabled pulumi.BoolPtrInput // Can be set by administrators only. Additional CI/CD minutes for this group. @@ -343,10 +331,6 @@ type groupArgs struct { DefaultBranchProtection *int `pulumi:"defaultBranchProtection"` // The group's description. Description *string `pulumi:"description"` - // Disable email notifications. - // - // Deprecated: use `emailsEnabled` instead - EmailsDisabled *bool `pulumi:"emailsDisabled"` // Enable email notifications. EmailsEnabled *bool `pulumi:"emailsEnabled"` // Can be set by administrators only. Additional CI/CD minutes for this group. @@ -403,10 +387,6 @@ type GroupArgs struct { DefaultBranchProtection pulumi.IntPtrInput // The group's description. Description pulumi.StringPtrInput - // Disable email notifications. - // - // Deprecated: use `emailsEnabled` instead - EmailsDisabled pulumi.BoolPtrInput // Enable email notifications. EmailsEnabled pulumi.BoolPtrInput // Can be set by administrators only. Additional CI/CD minutes for this group. @@ -568,13 +548,6 @@ func (o GroupOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Group) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -// Disable email notifications. -// -// Deprecated: use `emailsEnabled` instead -func (o GroupOutput) EmailsDisabled() pulumi.BoolOutput { - return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.EmailsDisabled }).(pulumi.BoolOutput) -} - // Enable email notifications. func (o GroupOutput) EmailsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.EmailsEnabled }).(pulumi.BoolOutput) diff --git a/sdk/go/gitlab/groupAccessToken.go b/sdk/go/gitlab/groupAccessToken.go index 4686d408..840b1ce7 100644 --- a/sdk/go/gitlab/groupAccessToken.go +++ b/sdk/go/gitlab/groupAccessToken.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -29,7 +29,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -74,7 +74,7 @@ import ( type GroupAccessToken struct { pulumi.CustomResourceState - // The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + // The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. AccessLevel pulumi.StringOutput `pulumi:"accessLevel"` // True if the token is active. Active pulumi.BoolOutput `pulumi:"active"` @@ -138,7 +138,7 @@ func GetGroupAccessToken(ctx *pulumi.Context, // Input properties used for looking up and filtering GroupAccessToken resources. type groupAccessTokenState struct { - // The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + // The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. AccessLevel *string `pulumi:"accessLevel"` // True if the token is active. Active *bool `pulumi:"active"` @@ -163,7 +163,7 @@ type groupAccessTokenState struct { } type GroupAccessTokenState struct { - // The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + // The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. AccessLevel pulumi.StringPtrInput // True if the token is active. Active pulumi.BoolPtrInput @@ -192,7 +192,7 @@ func (GroupAccessTokenState) ElementType() reflect.Type { } type groupAccessTokenArgs struct { - // The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + // The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. AccessLevel *string `pulumi:"accessLevel"` // When the token will expire, YYYY-MM-DD format. ExpiresAt *string `pulumi:"expiresAt"` @@ -208,7 +208,7 @@ type groupAccessTokenArgs struct { // The set of arguments for constructing a GroupAccessToken resource. type GroupAccessTokenArgs struct { - // The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + // The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. AccessLevel pulumi.StringPtrInput // When the token will expire, YYYY-MM-DD format. ExpiresAt pulumi.StringPtrInput @@ -309,7 +309,7 @@ func (o GroupAccessTokenOutput) ToGroupAccessTokenOutputWithContext(ctx context. return o } -// The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. +// The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. func (o GroupAccessTokenOutput) AccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *GroupAccessToken) pulumi.StringOutput { return v.AccessLevel }).(pulumi.StringOutput) } diff --git a/sdk/go/gitlab/groupBadge.go b/sdk/go/gitlab/groupBadge.go index ba82da65..e9ee215e 100644 --- a/sdk/go/gitlab/groupBadge.go +++ b/sdk/go/gitlab/groupBadge.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/groupCluster.go b/sdk/go/gitlab/groupCluster.go index 93378e1c..b1f8bf3a 100644 --- a/sdk/go/gitlab/groupCluster.go +++ b/sdk/go/gitlab/groupCluster.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/groupCustomAttribute.go b/sdk/go/gitlab/groupCustomAttribute.go index 95bc4830..5dbfceca 100644 --- a/sdk/go/gitlab/groupCustomAttribute.go +++ b/sdk/go/gitlab/groupCustomAttribute.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/groupEpicBoard.go b/sdk/go/gitlab/groupEpicBoard.go index 30e6e57d..00dceaff 100644 --- a/sdk/go/gitlab/groupEpicBoard.go +++ b/sdk/go/gitlab/groupEpicBoard.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/groupHook.go b/sdk/go/gitlab/groupHook.go index 1016aa38..63567b86 100644 --- a/sdk/go/gitlab/groupHook.go +++ b/sdk/go/gitlab/groupHook.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/groupIssueBoard.go b/sdk/go/gitlab/groupIssueBoard.go index 2d2a9de8..20907a03 100644 --- a/sdk/go/gitlab/groupIssueBoard.go +++ b/sdk/go/gitlab/groupIssueBoard.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/groupLabel.go b/sdk/go/gitlab/groupLabel.go index c5872594..24fc2874 100644 --- a/sdk/go/gitlab/groupLabel.go +++ b/sdk/go/gitlab/groupLabel.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/groupLdapLink.go b/sdk/go/gitlab/groupLdapLink.go index ed1276ab..c6e47489 100644 --- a/sdk/go/gitlab/groupLdapLink.go +++ b/sdk/go/gitlab/groupLdapLink.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -34,7 +34,7 @@ import ( type GroupLdapLink struct { pulumi.CustomResourceState - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel pulumi.StringPtrOutput `pulumi:"accessLevel"` @@ -46,7 +46,7 @@ type GroupLdapLink struct { Force pulumi.BoolPtrOutput `pulumi:"force"` // The ID or URL-encoded path of the group Group pulumi.StringOutput `pulumi:"group"` - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringPtrOutput `pulumi:"groupAccess"` // The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` LdapProvider pulumi.StringOutput `pulumi:"ldapProvider"` @@ -88,7 +88,7 @@ func GetGroupLdapLink(ctx *pulumi.Context, // Input properties used for looking up and filtering GroupLdapLink resources. type groupLdapLinkState struct { - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel *string `pulumi:"accessLevel"` @@ -100,14 +100,14 @@ type groupLdapLinkState struct { Force *bool `pulumi:"force"` // The ID or URL-encoded path of the group Group *string `pulumi:"group"` - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess *string `pulumi:"groupAccess"` // The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` LdapProvider *string `pulumi:"ldapProvider"` } type GroupLdapLinkState struct { - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel pulumi.StringPtrInput @@ -119,7 +119,7 @@ type GroupLdapLinkState struct { Force pulumi.BoolPtrInput // The ID or URL-encoded path of the group Group pulumi.StringPtrInput - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringPtrInput // The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` LdapProvider pulumi.StringPtrInput @@ -130,7 +130,7 @@ func (GroupLdapLinkState) ElementType() reflect.Type { } type groupLdapLinkArgs struct { - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel *string `pulumi:"accessLevel"` @@ -142,7 +142,7 @@ type groupLdapLinkArgs struct { Force *bool `pulumi:"force"` // The ID or URL-encoded path of the group Group string `pulumi:"group"` - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess *string `pulumi:"groupAccess"` // The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` LdapProvider string `pulumi:"ldapProvider"` @@ -150,7 +150,7 @@ type groupLdapLinkArgs struct { // The set of arguments for constructing a GroupLdapLink resource. type GroupLdapLinkArgs struct { - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel pulumi.StringPtrInput @@ -162,7 +162,7 @@ type GroupLdapLinkArgs struct { Force pulumi.BoolPtrInput // The ID or URL-encoded path of the group Group pulumi.StringInput - // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringPtrInput // The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` LdapProvider pulumi.StringInput @@ -255,7 +255,7 @@ func (o GroupLdapLinkOutput) ToGroupLdapLinkOutputWithContext(ctx context.Contex return o } -// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` +// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. func (o GroupLdapLinkOutput) AccessLevel() pulumi.StringPtrOutput { @@ -282,7 +282,7 @@ func (o GroupLdapLinkOutput) Group() pulumi.StringOutput { return o.ApplyT(func(v *GroupLdapLink) pulumi.StringOutput { return v.Group }).(pulumi.StringOutput) } -// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` +// Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` func (o GroupLdapLinkOutput) GroupAccess() pulumi.StringPtrOutput { return o.ApplyT(func(v *GroupLdapLink) pulumi.StringPtrOutput { return v.GroupAccess }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/gitlab/groupMembership.go b/sdk/go/gitlab/groupMembership.go index 0850c0c7..bab370f7 100644 --- a/sdk/go/gitlab/groupMembership.go +++ b/sdk/go/gitlab/groupMembership.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -57,7 +57,7 @@ import ( type GroupMembership struct { pulumi.CustomResourceState - // Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + // Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. AccessLevel pulumi.StringOutput `pulumi:"accessLevel"` // Expiration date for the group membership. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrOutput `pulumi:"expiresAt"` @@ -112,7 +112,7 @@ func GetGroupMembership(ctx *pulumi.Context, // Input properties used for looking up and filtering GroupMembership resources. type groupMembershipState struct { - // Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + // Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. AccessLevel *string `pulumi:"accessLevel"` // Expiration date for the group membership. Format: `YYYY-MM-DD` ExpiresAt *string `pulumi:"expiresAt"` @@ -129,7 +129,7 @@ type groupMembershipState struct { } type GroupMembershipState struct { - // Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + // Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. AccessLevel pulumi.StringPtrInput // Expiration date for the group membership. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrInput @@ -150,7 +150,7 @@ func (GroupMembershipState) ElementType() reflect.Type { } type groupMembershipArgs struct { - // Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + // Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. AccessLevel string `pulumi:"accessLevel"` // Expiration date for the group membership. Format: `YYYY-MM-DD` ExpiresAt *string `pulumi:"expiresAt"` @@ -168,7 +168,7 @@ type groupMembershipArgs struct { // The set of arguments for constructing a GroupMembership resource. type GroupMembershipArgs struct { - // Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + // Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. AccessLevel pulumi.StringInput // Expiration date for the group membership. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrInput @@ -271,7 +271,7 @@ func (o GroupMembershipOutput) ToGroupMembershipOutputWithContext(ctx context.Co return o } -// Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. +// Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. func (o GroupMembershipOutput) AccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *GroupMembership) pulumi.StringOutput { return v.AccessLevel }).(pulumi.StringOutput) } diff --git a/sdk/go/gitlab/groupProjectFileTemplate.go b/sdk/go/gitlab/groupProjectFileTemplate.go index 5024ea62..fcb0a72a 100644 --- a/sdk/go/gitlab/groupProjectFileTemplate.go +++ b/sdk/go/gitlab/groupProjectFileTemplate.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -29,7 +29,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/groupProtectedEnvironment.go b/sdk/go/gitlab/groupProtectedEnvironment.go index 9f4fb7b9..e8338cda 100644 --- a/sdk/go/gitlab/groupProtectedEnvironment.go +++ b/sdk/go/gitlab/groupProtectedEnvironment.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -40,8 +40,6 @@ type GroupProtectedEnvironment struct { Environment pulumi.StringOutput `pulumi:"environment"` // The ID or full path of the group which the protected environment is created against. Group pulumi.StringOutput `pulumi:"group"` - // The number of approvals required to deploy to this environment. - RequiredApprovalCount pulumi.IntOutput `pulumi:"requiredApprovalCount"` } // NewGroupProtectedEnvironment registers a new resource with the given unique name, arguments, and options. @@ -91,8 +89,6 @@ type groupProtectedEnvironmentState struct { Environment *string `pulumi:"environment"` // The ID or full path of the group which the protected environment is created against. Group *string `pulumi:"group"` - // The number of approvals required to deploy to this environment. - RequiredApprovalCount *int `pulumi:"requiredApprovalCount"` } type GroupProtectedEnvironmentState struct { @@ -104,8 +100,6 @@ type GroupProtectedEnvironmentState struct { Environment pulumi.StringPtrInput // The ID or full path of the group which the protected environment is created against. Group pulumi.StringPtrInput - // The number of approvals required to deploy to this environment. - RequiredApprovalCount pulumi.IntPtrInput } func (GroupProtectedEnvironmentState) ElementType() reflect.Type { @@ -121,8 +115,6 @@ type groupProtectedEnvironmentArgs struct { Environment string `pulumi:"environment"` // The ID or full path of the group which the protected environment is created against. Group string `pulumi:"group"` - // The number of approvals required to deploy to this environment. - RequiredApprovalCount *int `pulumi:"requiredApprovalCount"` } // The set of arguments for constructing a GroupProtectedEnvironment resource. @@ -135,8 +127,6 @@ type GroupProtectedEnvironmentArgs struct { Environment pulumi.StringInput // The ID or full path of the group which the protected environment is created against. Group pulumi.StringInput - // The number of approvals required to deploy to this environment. - RequiredApprovalCount pulumi.IntPtrInput } func (GroupProtectedEnvironmentArgs) ElementType() reflect.Type { @@ -250,11 +240,6 @@ func (o GroupProtectedEnvironmentOutput) Group() pulumi.StringOutput { return o.ApplyT(func(v *GroupProtectedEnvironment) pulumi.StringOutput { return v.Group }).(pulumi.StringOutput) } -// The number of approvals required to deploy to this environment. -func (o GroupProtectedEnvironmentOutput) RequiredApprovalCount() pulumi.IntOutput { - return o.ApplyT(func(v *GroupProtectedEnvironment) pulumi.IntOutput { return v.RequiredApprovalCount }).(pulumi.IntOutput) -} - type GroupProtectedEnvironmentArrayOutput struct{ *pulumi.OutputState } func (GroupProtectedEnvironmentArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/gitlab/groupSamlLink.go b/sdk/go/gitlab/groupSamlLink.go index 7e797abf..8741f5ba 100644 --- a/sdk/go/gitlab/groupSamlLink.go +++ b/sdk/go/gitlab/groupSamlLink.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/groupShareGroup.go b/sdk/go/gitlab/groupShareGroup.go index 111a4dad..d9a7b76e 100644 --- a/sdk/go/gitlab/groupShareGroup.go +++ b/sdk/go/gitlab/groupShareGroup.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -57,7 +57,7 @@ type GroupShareGroup struct { // Share expiration date. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrOutput `pulumi:"expiresAt"` - // The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringOutput `pulumi:"groupAccess"` // The id of the main group to be shared. GroupId pulumi.StringOutput `pulumi:"groupId"` @@ -106,7 +106,7 @@ func GetGroupShareGroup(ctx *pulumi.Context, type groupShareGroupState struct { // Share expiration date. Format: `YYYY-MM-DD` ExpiresAt *string `pulumi:"expiresAt"` - // The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess *string `pulumi:"groupAccess"` // The id of the main group to be shared. GroupId *string `pulumi:"groupId"` @@ -117,7 +117,7 @@ type groupShareGroupState struct { type GroupShareGroupState struct { // Share expiration date. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrInput - // The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringPtrInput // The id of the main group to be shared. GroupId pulumi.StringPtrInput @@ -132,7 +132,7 @@ func (GroupShareGroupState) ElementType() reflect.Type { type groupShareGroupArgs struct { // Share expiration date. Format: `YYYY-MM-DD` ExpiresAt *string `pulumi:"expiresAt"` - // The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess string `pulumi:"groupAccess"` // The id of the main group to be shared. GroupId string `pulumi:"groupId"` @@ -144,7 +144,7 @@ type groupShareGroupArgs struct { type GroupShareGroupArgs struct { // Share expiration date. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrInput - // The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringInput // The id of the main group to be shared. GroupId pulumi.StringInput @@ -244,7 +244,7 @@ func (o GroupShareGroupOutput) ExpiresAt() pulumi.StringPtrOutput { return o.ApplyT(func(v *GroupShareGroup) pulumi.StringPtrOutput { return v.ExpiresAt }).(pulumi.StringPtrOutput) } -// The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` +// The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` func (o GroupShareGroupOutput) GroupAccess() pulumi.StringOutput { return o.ApplyT(func(v *GroupShareGroup) pulumi.StringOutput { return v.GroupAccess }).(pulumi.StringOutput) } diff --git a/sdk/go/gitlab/groupVariable.go b/sdk/go/gitlab/groupVariable.go index 6802bf2d..d3422cc5 100644 --- a/sdk/go/gitlab/groupVariable.go +++ b/sdk/go/gitlab/groupVariable.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/init.go b/sdk/go/gitlab/init.go index 6c07a5f2..c90447c1 100644 --- a/sdk/go/gitlab/init.go +++ b/sdk/go/gitlab/init.go @@ -7,7 +7,7 @@ import ( "fmt" "github.com/blang/semver" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -87,6 +87,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &IntegrationExternalWiki{} case "gitlab:index/integrationGithub:IntegrationGithub": r = &IntegrationGithub{} + case "gitlab:index/integrationJenkins:IntegrationJenkins": + r = &IntegrationJenkins{} case "gitlab:index/integrationJira:IntegrationJira": r = &IntegrationJira{} case "gitlab:index/integrationMattermost:IntegrationMattermost": @@ -135,6 +137,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ProjectIssueBoard{} case "gitlab:index/projectJobTokenScope:ProjectJobTokenScope": r = &ProjectJobTokenScope{} + case "gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes": + r = &ProjectJobTokenScopes{} case "gitlab:index/projectLabel:ProjectLabel": r = &ProjectLabel{} case "gitlab:index/projectLevelMrApprovals:ProjectLevelMrApprovals": @@ -149,6 +153,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ProjectMirror{} case "gitlab:index/projectProtectedEnvironment:ProjectProtectedEnvironment": r = &ProjectProtectedEnvironment{} + case "gitlab:index/projectPushRules:ProjectPushRules": + r = &ProjectPushRules{} case "gitlab:index/projectRunnerEnablement:ProjectRunnerEnablement": r = &ProjectRunnerEnablement{} case "gitlab:index/projectShareGroup:ProjectShareGroup": @@ -391,6 +397,11 @@ func init() { "index/integrationGithub", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/integrationJenkins", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/integrationJira", @@ -511,6 +522,11 @@ func init() { "index/projectJobTokenScope", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectJobTokenScopes", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/projectLabel", @@ -546,6 +562,11 @@ func init() { "index/projectProtectedEnvironment", &module{version}, ) + pulumi.RegisterResourceModule( + "gitlab", + "index/projectPushRules", + &module{version}, + ) pulumi.RegisterResourceModule( "gitlab", "index/projectRunnerEnablement", diff --git a/sdk/go/gitlab/instanceCluster.go b/sdk/go/gitlab/instanceCluster.go index a07703d5..c8e02cdc 100644 --- a/sdk/go/gitlab/instanceCluster.go +++ b/sdk/go/gitlab/instanceCluster.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/instanceVariable.go b/sdk/go/gitlab/instanceVariable.go index 9158679e..e829b3fc 100644 --- a/sdk/go/gitlab/instanceVariable.go +++ b/sdk/go/gitlab/instanceVariable.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -55,6 +55,8 @@ import ( type InstanceVariable struct { pulumi.CustomResourceState + // The description of the variable. Maximum of 255 characters. + Description pulumi.StringPtrOutput `pulumi:"description"` // The name of the variable. Key pulumi.StringOutput `pulumi:"key"` // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. @@ -105,6 +107,8 @@ func GetInstanceVariable(ctx *pulumi.Context, // Input properties used for looking up and filtering InstanceVariable resources. type instanceVariableState struct { + // The description of the variable. Maximum of 255 characters. + Description *string `pulumi:"description"` // The name of the variable. Key *string `pulumi:"key"` // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. @@ -120,6 +124,8 @@ type instanceVariableState struct { } type InstanceVariableState struct { + // The description of the variable. Maximum of 255 characters. + Description pulumi.StringPtrInput // The name of the variable. Key pulumi.StringPtrInput // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. @@ -139,6 +145,8 @@ func (InstanceVariableState) ElementType() reflect.Type { } type instanceVariableArgs struct { + // The description of the variable. Maximum of 255 characters. + Description *string `pulumi:"description"` // The name of the variable. Key string `pulumi:"key"` // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. @@ -155,6 +163,8 @@ type instanceVariableArgs struct { // The set of arguments for constructing a InstanceVariable resource. type InstanceVariableArgs struct { + // The description of the variable. Maximum of 255 characters. + Description pulumi.StringPtrInput // The name of the variable. Key pulumi.StringInput // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. @@ -256,6 +266,11 @@ func (o InstanceVariableOutput) ToInstanceVariableOutputWithContext(ctx context. return o } +// The description of the variable. Maximum of 255 characters. +func (o InstanceVariableOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceVariable) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + // The name of the variable. func (o InstanceVariableOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v *InstanceVariable) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) diff --git a/sdk/go/gitlab/integrationCustomIssueTracker.go b/sdk/go/gitlab/integrationCustomIssueTracker.go index b7c4f044..c414d0e2 100644 --- a/sdk/go/gitlab/integrationCustomIssueTracker.go +++ b/sdk/go/gitlab/integrationCustomIssueTracker.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/integrationEmailsOnPush.go b/sdk/go/gitlab/integrationEmailsOnPush.go index 55d980de..7883be34 100644 --- a/sdk/go/gitlab/integrationEmailsOnPush.go +++ b/sdk/go/gitlab/integrationEmailsOnPush.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/integrationExternalWiki.go b/sdk/go/gitlab/integrationExternalWiki.go index 307dd47e..b97731eb 100644 --- a/sdk/go/gitlab/integrationExternalWiki.go +++ b/sdk/go/gitlab/integrationExternalWiki.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/integrationGithub.go b/sdk/go/gitlab/integrationGithub.go index ef12b9e4..6ae91a6f 100644 --- a/sdk/go/gitlab/integrationGithub.go +++ b/sdk/go/gitlab/integrationGithub.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/integrationJenkins.go b/sdk/go/gitlab/integrationJenkins.go new file mode 100644 index 00000000..cb929a34 --- /dev/null +++ b/sdk/go/gitlab/integrationJenkins.go @@ -0,0 +1,411 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `IntegrationJenkins` resource allows to manage the lifecycle of a project integration with Jenkins. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#jenkins) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{ +// Name: pulumi.String("awesome_project"), +// Description: pulumi.String("My awesome project."), +// VisibilityLevel: pulumi.String("public"), +// }) +// if err != nil { +// return err +// } +// _, err = gitlab.NewIntegrationJenkins(ctx, "jenkins", &gitlab.IntegrationJenkinsArgs{ +// Project: awesomeProject.ID(), +// JenkinsUrl: pulumi.String("http://jenkins.example.com"), +// ProjectName: pulumi.String("my_project_name"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// ```sh +// $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins You can import a gitlab_integration_jenkins state using ` `: +// ``` +// +// ```sh +// $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins jenkins 1 +// ``` +type IntegrationJenkins struct { + pulumi.CustomResourceState + + // Whether the integration is active. + Active pulumi.BoolOutput `pulumi:"active"` + // Enable SSL verification. Defaults to `true` (enabled). + EnableSslVerification pulumi.BoolOutput `pulumi:"enableSslVerification"` + // Jenkins URL like `http://jenkins.example.com` + JenkinsUrl pulumi.StringOutput `pulumi:"jenkinsUrl"` + // Enable notifications for merge request events. + MergeRequestEvents pulumi.BoolOutput `pulumi:"mergeRequestEvents"` + // Password for authentication with the Jenkins server, if authentication is required by the server. + Password pulumi.StringPtrOutput `pulumi:"password"` + // ID of the project you want to activate integration on. + Project pulumi.StringOutput `pulumi:"project"` + // The URL-friendly project name. Example: `myProjectName`. + ProjectName pulumi.StringOutput `pulumi:"projectName"` + // Enable notifications for push events. + PushEvents pulumi.BoolOutput `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolOutput `pulumi:"tagPushEvents"` + // Username for authentication with the Jenkins server, if authentication is required by the server. + Username pulumi.StringPtrOutput `pulumi:"username"` +} + +// NewIntegrationJenkins registers a new resource with the given unique name, arguments, and options. +func NewIntegrationJenkins(ctx *pulumi.Context, + name string, args *IntegrationJenkinsArgs, opts ...pulumi.ResourceOption) (*IntegrationJenkins, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.JenkinsUrl == nil { + return nil, errors.New("invalid value for required argument 'JenkinsUrl'") + } + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + if args.ProjectName == nil { + return nil, errors.New("invalid value for required argument 'ProjectName'") + } + if args.Password != nil { + args.Password = pulumi.ToSecret(args.Password).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "password", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource IntegrationJenkins + err := ctx.RegisterResource("gitlab:index/integrationJenkins:IntegrationJenkins", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIntegrationJenkins gets an existing IntegrationJenkins resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIntegrationJenkins(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IntegrationJenkinsState, opts ...pulumi.ResourceOption) (*IntegrationJenkins, error) { + var resource IntegrationJenkins + err := ctx.ReadResource("gitlab:index/integrationJenkins:IntegrationJenkins", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IntegrationJenkins resources. +type integrationJenkinsState struct { + // Whether the integration is active. + Active *bool `pulumi:"active"` + // Enable SSL verification. Defaults to `true` (enabled). + EnableSslVerification *bool `pulumi:"enableSslVerification"` + // Jenkins URL like `http://jenkins.example.com` + JenkinsUrl *string `pulumi:"jenkinsUrl"` + // Enable notifications for merge request events. + MergeRequestEvents *bool `pulumi:"mergeRequestEvents"` + // Password for authentication with the Jenkins server, if authentication is required by the server. + Password *string `pulumi:"password"` + // ID of the project you want to activate integration on. + Project *string `pulumi:"project"` + // The URL-friendly project name. Example: `myProjectName`. + ProjectName *string `pulumi:"projectName"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // Username for authentication with the Jenkins server, if authentication is required by the server. + Username *string `pulumi:"username"` +} + +type IntegrationJenkinsState struct { + // Whether the integration is active. + Active pulumi.BoolPtrInput + // Enable SSL verification. Defaults to `true` (enabled). + EnableSslVerification pulumi.BoolPtrInput + // Jenkins URL like `http://jenkins.example.com` + JenkinsUrl pulumi.StringPtrInput + // Enable notifications for merge request events. + MergeRequestEvents pulumi.BoolPtrInput + // Password for authentication with the Jenkins server, if authentication is required by the server. + Password pulumi.StringPtrInput + // ID of the project you want to activate integration on. + Project pulumi.StringPtrInput + // The URL-friendly project name. Example: `myProjectName`. + ProjectName pulumi.StringPtrInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // Username for authentication with the Jenkins server, if authentication is required by the server. + Username pulumi.StringPtrInput +} + +func (IntegrationJenkinsState) ElementType() reflect.Type { + return reflect.TypeOf((*integrationJenkinsState)(nil)).Elem() +} + +type integrationJenkinsArgs struct { + // Enable SSL verification. Defaults to `true` (enabled). + EnableSslVerification *bool `pulumi:"enableSslVerification"` + // Jenkins URL like `http://jenkins.example.com` + JenkinsUrl string `pulumi:"jenkinsUrl"` + // Enable notifications for merge request events. + MergeRequestEvents *bool `pulumi:"mergeRequestEvents"` + // Password for authentication with the Jenkins server, if authentication is required by the server. + Password *string `pulumi:"password"` + // ID of the project you want to activate integration on. + Project string `pulumi:"project"` + // The URL-friendly project name. Example: `myProjectName`. + ProjectName string `pulumi:"projectName"` + // Enable notifications for push events. + PushEvents *bool `pulumi:"pushEvents"` + // Enable notifications for tag push events. + TagPushEvents *bool `pulumi:"tagPushEvents"` + // Username for authentication with the Jenkins server, if authentication is required by the server. + Username *string `pulumi:"username"` +} + +// The set of arguments for constructing a IntegrationJenkins resource. +type IntegrationJenkinsArgs struct { + // Enable SSL verification. Defaults to `true` (enabled). + EnableSslVerification pulumi.BoolPtrInput + // Jenkins URL like `http://jenkins.example.com` + JenkinsUrl pulumi.StringInput + // Enable notifications for merge request events. + MergeRequestEvents pulumi.BoolPtrInput + // Password for authentication with the Jenkins server, if authentication is required by the server. + Password pulumi.StringPtrInput + // ID of the project you want to activate integration on. + Project pulumi.StringInput + // The URL-friendly project name. Example: `myProjectName`. + ProjectName pulumi.StringInput + // Enable notifications for push events. + PushEvents pulumi.BoolPtrInput + // Enable notifications for tag push events. + TagPushEvents pulumi.BoolPtrInput + // Username for authentication with the Jenkins server, if authentication is required by the server. + Username pulumi.StringPtrInput +} + +func (IntegrationJenkinsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*integrationJenkinsArgs)(nil)).Elem() +} + +type IntegrationJenkinsInput interface { + pulumi.Input + + ToIntegrationJenkinsOutput() IntegrationJenkinsOutput + ToIntegrationJenkinsOutputWithContext(ctx context.Context) IntegrationJenkinsOutput +} + +func (*IntegrationJenkins) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationJenkins)(nil)).Elem() +} + +func (i *IntegrationJenkins) ToIntegrationJenkinsOutput() IntegrationJenkinsOutput { + return i.ToIntegrationJenkinsOutputWithContext(context.Background()) +} + +func (i *IntegrationJenkins) ToIntegrationJenkinsOutputWithContext(ctx context.Context) IntegrationJenkinsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationJenkinsOutput) +} + +// IntegrationJenkinsArrayInput is an input type that accepts IntegrationJenkinsArray and IntegrationJenkinsArrayOutput values. +// You can construct a concrete instance of `IntegrationJenkinsArrayInput` via: +// +// IntegrationJenkinsArray{ IntegrationJenkinsArgs{...} } +type IntegrationJenkinsArrayInput interface { + pulumi.Input + + ToIntegrationJenkinsArrayOutput() IntegrationJenkinsArrayOutput + ToIntegrationJenkinsArrayOutputWithContext(context.Context) IntegrationJenkinsArrayOutput +} + +type IntegrationJenkinsArray []IntegrationJenkinsInput + +func (IntegrationJenkinsArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IntegrationJenkins)(nil)).Elem() +} + +func (i IntegrationJenkinsArray) ToIntegrationJenkinsArrayOutput() IntegrationJenkinsArrayOutput { + return i.ToIntegrationJenkinsArrayOutputWithContext(context.Background()) +} + +func (i IntegrationJenkinsArray) ToIntegrationJenkinsArrayOutputWithContext(ctx context.Context) IntegrationJenkinsArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationJenkinsArrayOutput) +} + +// IntegrationJenkinsMapInput is an input type that accepts IntegrationJenkinsMap and IntegrationJenkinsMapOutput values. +// You can construct a concrete instance of `IntegrationJenkinsMapInput` via: +// +// IntegrationJenkinsMap{ "key": IntegrationJenkinsArgs{...} } +type IntegrationJenkinsMapInput interface { + pulumi.Input + + ToIntegrationJenkinsMapOutput() IntegrationJenkinsMapOutput + ToIntegrationJenkinsMapOutputWithContext(context.Context) IntegrationJenkinsMapOutput +} + +type IntegrationJenkinsMap map[string]IntegrationJenkinsInput + +func (IntegrationJenkinsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IntegrationJenkins)(nil)).Elem() +} + +func (i IntegrationJenkinsMap) ToIntegrationJenkinsMapOutput() IntegrationJenkinsMapOutput { + return i.ToIntegrationJenkinsMapOutputWithContext(context.Background()) +} + +func (i IntegrationJenkinsMap) ToIntegrationJenkinsMapOutputWithContext(ctx context.Context) IntegrationJenkinsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationJenkinsMapOutput) +} + +type IntegrationJenkinsOutput struct{ *pulumi.OutputState } + +func (IntegrationJenkinsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationJenkins)(nil)).Elem() +} + +func (o IntegrationJenkinsOutput) ToIntegrationJenkinsOutput() IntegrationJenkinsOutput { + return o +} + +func (o IntegrationJenkinsOutput) ToIntegrationJenkinsOutputWithContext(ctx context.Context) IntegrationJenkinsOutput { + return o +} + +// Whether the integration is active. +func (o IntegrationJenkinsOutput) Active() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationJenkins) pulumi.BoolOutput { return v.Active }).(pulumi.BoolOutput) +} + +// Enable SSL verification. Defaults to `true` (enabled). +func (o IntegrationJenkinsOutput) EnableSslVerification() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationJenkins) pulumi.BoolOutput { return v.EnableSslVerification }).(pulumi.BoolOutput) +} + +// Jenkins URL like `http://jenkins.example.com` +func (o IntegrationJenkinsOutput) JenkinsUrl() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationJenkins) pulumi.StringOutput { return v.JenkinsUrl }).(pulumi.StringOutput) +} + +// Enable notifications for merge request events. +func (o IntegrationJenkinsOutput) MergeRequestEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationJenkins) pulumi.BoolOutput { return v.MergeRequestEvents }).(pulumi.BoolOutput) +} + +// Password for authentication with the Jenkins server, if authentication is required by the server. +func (o IntegrationJenkinsOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IntegrationJenkins) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) +} + +// ID of the project you want to activate integration on. +func (o IntegrationJenkinsOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationJenkins) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// The URL-friendly project name. Example: `myProjectName`. +func (o IntegrationJenkinsOutput) ProjectName() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationJenkins) pulumi.StringOutput { return v.ProjectName }).(pulumi.StringOutput) +} + +// Enable notifications for push events. +func (o IntegrationJenkinsOutput) PushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationJenkins) pulumi.BoolOutput { return v.PushEvents }).(pulumi.BoolOutput) +} + +// Enable notifications for tag push events. +func (o IntegrationJenkinsOutput) TagPushEvents() pulumi.BoolOutput { + return o.ApplyT(func(v *IntegrationJenkins) pulumi.BoolOutput { return v.TagPushEvents }).(pulumi.BoolOutput) +} + +// Username for authentication with the Jenkins server, if authentication is required by the server. +func (o IntegrationJenkinsOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IntegrationJenkins) pulumi.StringPtrOutput { return v.Username }).(pulumi.StringPtrOutput) +} + +type IntegrationJenkinsArrayOutput struct{ *pulumi.OutputState } + +func (IntegrationJenkinsArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IntegrationJenkins)(nil)).Elem() +} + +func (o IntegrationJenkinsArrayOutput) ToIntegrationJenkinsArrayOutput() IntegrationJenkinsArrayOutput { + return o +} + +func (o IntegrationJenkinsArrayOutput) ToIntegrationJenkinsArrayOutputWithContext(ctx context.Context) IntegrationJenkinsArrayOutput { + return o +} + +func (o IntegrationJenkinsArrayOutput) Index(i pulumi.IntInput) IntegrationJenkinsOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IntegrationJenkins { + return vs[0].([]*IntegrationJenkins)[vs[1].(int)] + }).(IntegrationJenkinsOutput) +} + +type IntegrationJenkinsMapOutput struct{ *pulumi.OutputState } + +func (IntegrationJenkinsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IntegrationJenkins)(nil)).Elem() +} + +func (o IntegrationJenkinsMapOutput) ToIntegrationJenkinsMapOutput() IntegrationJenkinsMapOutput { + return o +} + +func (o IntegrationJenkinsMapOutput) ToIntegrationJenkinsMapOutputWithContext(ctx context.Context) IntegrationJenkinsMapOutput { + return o +} + +func (o IntegrationJenkinsMapOutput) MapIndex(k pulumi.StringInput) IntegrationJenkinsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IntegrationJenkins { + return vs[0].(map[string]*IntegrationJenkins)[vs[1].(string)] + }).(IntegrationJenkinsOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationJenkinsInput)(nil)).Elem(), &IntegrationJenkins{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationJenkinsArrayInput)(nil)).Elem(), IntegrationJenkinsArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationJenkinsMapInput)(nil)).Elem(), IntegrationJenkinsMap{}) + pulumi.RegisterOutputType(IntegrationJenkinsOutput{}) + pulumi.RegisterOutputType(IntegrationJenkinsArrayOutput{}) + pulumi.RegisterOutputType(IntegrationJenkinsMapOutput{}) +} diff --git a/sdk/go/gitlab/integrationJira.go b/sdk/go/gitlab/integrationJira.go index 92acc278..c4205a2d 100644 --- a/sdk/go/gitlab/integrationJira.go +++ b/sdk/go/gitlab/integrationJira.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/integrationMattermost.go b/sdk/go/gitlab/integrationMattermost.go index fa88595f..3c04d850 100644 --- a/sdk/go/gitlab/integrationMattermost.go +++ b/sdk/go/gitlab/integrationMattermost.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/integrationMicrosoftTeams.go b/sdk/go/gitlab/integrationMicrosoftTeams.go index 31ccff55..1c6b590f 100644 --- a/sdk/go/gitlab/integrationMicrosoftTeams.go +++ b/sdk/go/gitlab/integrationMicrosoftTeams.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/integrationPipelinesEmail.go b/sdk/go/gitlab/integrationPipelinesEmail.go index c647764c..69c689df 100644 --- a/sdk/go/gitlab/integrationPipelinesEmail.go +++ b/sdk/go/gitlab/integrationPipelinesEmail.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/integrationSlack.go b/sdk/go/gitlab/integrationSlack.go index d6312c5c..52ab797e 100644 --- a/sdk/go/gitlab/integrationSlack.go +++ b/sdk/go/gitlab/integrationSlack.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/internal/pulumiUtilities.go b/sdk/go/gitlab/internal/pulumiUtilities.go index 14b33f89..5299f261 100644 --- a/sdk/go/gitlab/internal/pulumiUtilities.go +++ b/sdk/go/gitlab/internal/pulumiUtilities.go @@ -165,7 +165,7 @@ func callPlainInner( func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - version := semver.MustParse("7.0.0-alpha.0+dev") + version := semver.MustParse("8.0.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } @@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { defaults := []pulumi.InvokeOption{} - version := semver.MustParse("7.0.0-alpha.0+dev") + version := semver.MustParse("8.0.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } diff --git a/sdk/go/gitlab/label.go b/sdk/go/gitlab/label.go index cd43d726..8967163d 100644 --- a/sdk/go/gitlab/label.go +++ b/sdk/go/gitlab/label.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/pagesDomain.go b/sdk/go/gitlab/pagesDomain.go index f6901096..a3ae54dc 100644 --- a/sdk/go/gitlab/pagesDomain.go +++ b/sdk/go/gitlab/pagesDomain.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/personalAccessToken.go b/sdk/go/gitlab/personalAccessToken.go index eb0052ee..c53ad2d9 100644 --- a/sdk/go/gitlab/personalAccessToken.go +++ b/sdk/go/gitlab/personalAccessToken.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/pipelineSchedule.go b/sdk/go/gitlab/pipelineSchedule.go index 92579062..f6b726a1 100644 --- a/sdk/go/gitlab/pipelineSchedule.go +++ b/sdk/go/gitlab/pipelineSchedule.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -33,7 +33,7 @@ import ( // _, err := gitlab.NewPipelineSchedule(ctx, "example", &gitlab.PipelineScheduleArgs{ // Project: pulumi.String("12345"), // Description: pulumi.String("Used to schedule builds"), -// Ref: pulumi.String("master"), +// Ref: pulumi.String("refs/heads/main"), // Cron: pulumi.String("0 1 * * *"), // }) // if err != nil { @@ -69,7 +69,7 @@ type PipelineSchedule struct { PipelineScheduleId pulumi.IntOutput `pulumi:"pipelineScheduleId"` // The name or id of the project to add the schedule to. Project pulumi.StringOutput `pulumi:"project"` - // The branch/tag name to be triggered. + // The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. Ref pulumi.StringOutput `pulumi:"ref"` TakeOwnership pulumi.BoolOutput `pulumi:"takeOwnership"` } @@ -130,7 +130,7 @@ type pipelineScheduleState struct { PipelineScheduleId *int `pulumi:"pipelineScheduleId"` // The name or id of the project to add the schedule to. Project *string `pulumi:"project"` - // The branch/tag name to be triggered. + // The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. Ref *string `pulumi:"ref"` TakeOwnership *bool `pulumi:"takeOwnership"` } @@ -150,7 +150,7 @@ type PipelineScheduleState struct { PipelineScheduleId pulumi.IntPtrInput // The name or id of the project to add the schedule to. Project pulumi.StringPtrInput - // The branch/tag name to be triggered. + // The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. Ref pulumi.StringPtrInput TakeOwnership pulumi.BoolPtrInput } @@ -170,7 +170,7 @@ type pipelineScheduleArgs struct { Description string `pulumi:"description"` // The name or id of the project to add the schedule to. Project string `pulumi:"project"` - // The branch/tag name to be triggered. + // The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. Ref string `pulumi:"ref"` TakeOwnership *bool `pulumi:"takeOwnership"` } @@ -187,7 +187,7 @@ type PipelineScheduleArgs struct { Description pulumi.StringInput // The name or id of the project to add the schedule to. Project pulumi.StringInput - // The branch/tag name to be triggered. + // The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. Ref pulumi.StringInput TakeOwnership pulumi.BoolPtrInput } @@ -314,7 +314,7 @@ func (o PipelineScheduleOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *PipelineSchedule) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } -// The branch/tag name to be triggered. +// The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. func (o PipelineScheduleOutput) Ref() pulumi.StringOutput { return o.ApplyT(func(v *PipelineSchedule) pulumi.StringOutput { return v.Ref }).(pulumi.StringOutput) } diff --git a/sdk/go/gitlab/pipelineScheduleVariable.go b/sdk/go/gitlab/pipelineScheduleVariable.go index 5d343737..613303f3 100644 --- a/sdk/go/gitlab/pipelineScheduleVariable.go +++ b/sdk/go/gitlab/pipelineScheduleVariable.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -72,6 +72,8 @@ type PipelineScheduleVariable struct { Project pulumi.StringOutput `pulumi:"project"` // Value of the variable. Value pulumi.StringOutput `pulumi:"value"` + // The type of a variable. Available types are: `envVar`, `file`. Default is `envVar`. + VariableType pulumi.StringOutput `pulumi:"variableType"` } // NewPipelineScheduleVariable registers a new resource with the given unique name, arguments, and options. @@ -124,6 +126,8 @@ type pipelineScheduleVariableState struct { Project *string `pulumi:"project"` // Value of the variable. Value *string `pulumi:"value"` + // The type of a variable. Available types are: `envVar`, `file`. Default is `envVar`. + VariableType *string `pulumi:"variableType"` } type PipelineScheduleVariableState struct { @@ -135,6 +139,8 @@ type PipelineScheduleVariableState struct { Project pulumi.StringPtrInput // Value of the variable. Value pulumi.StringPtrInput + // The type of a variable. Available types are: `envVar`, `file`. Default is `envVar`. + VariableType pulumi.StringPtrInput } func (PipelineScheduleVariableState) ElementType() reflect.Type { @@ -150,6 +156,8 @@ type pipelineScheduleVariableArgs struct { Project string `pulumi:"project"` // Value of the variable. Value string `pulumi:"value"` + // The type of a variable. Available types are: `envVar`, `file`. Default is `envVar`. + VariableType *string `pulumi:"variableType"` } // The set of arguments for constructing a PipelineScheduleVariable resource. @@ -162,6 +170,8 @@ type PipelineScheduleVariableArgs struct { Project pulumi.StringInput // Value of the variable. Value pulumi.StringInput + // The type of a variable. Available types are: `envVar`, `file`. Default is `envVar`. + VariableType pulumi.StringPtrInput } func (PipelineScheduleVariableArgs) ElementType() reflect.Type { @@ -271,6 +281,11 @@ func (o PipelineScheduleVariableOutput) Value() pulumi.StringOutput { return o.ApplyT(func(v *PipelineScheduleVariable) pulumi.StringOutput { return v.Value }).(pulumi.StringOutput) } +// The type of a variable. Available types are: `envVar`, `file`. Default is `envVar`. +func (o PipelineScheduleVariableOutput) VariableType() pulumi.StringOutput { + return o.ApplyT(func(v *PipelineScheduleVariable) pulumi.StringOutput { return v.VariableType }).(pulumi.StringOutput) +} + type PipelineScheduleVariableArrayOutput struct{ *pulumi.OutputState } func (PipelineScheduleVariableArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/gitlab/pipelineTrigger.go b/sdk/go/gitlab/pipelineTrigger.go index 890ba47d..ad139dbb 100644 --- a/sdk/go/gitlab/pipelineTrigger.go +++ b/sdk/go/gitlab/pipelineTrigger.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -59,7 +59,7 @@ type PipelineTrigger struct { PipelineTriggerId pulumi.IntOutput `pulumi:"pipelineTriggerId"` // The name or id of the project to add the trigger to. Project pulumi.StringOutput `pulumi:"project"` - // The pipeline trigger token. + // The pipeline trigger token. This value is not available during import. Token pulumi.StringOutput `pulumi:"token"` } @@ -109,7 +109,7 @@ type pipelineTriggerState struct { PipelineTriggerId *int `pulumi:"pipelineTriggerId"` // The name or id of the project to add the trigger to. Project *string `pulumi:"project"` - // The pipeline trigger token. + // The pipeline trigger token. This value is not available during import. Token *string `pulumi:"token"` } @@ -120,7 +120,7 @@ type PipelineTriggerState struct { PipelineTriggerId pulumi.IntPtrInput // The name or id of the project to add the trigger to. Project pulumi.StringPtrInput - // The pipeline trigger token. + // The pipeline trigger token. This value is not available during import. Token pulumi.StringPtrInput } @@ -245,7 +245,7 @@ func (o PipelineTriggerOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *PipelineTrigger) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } -// The pipeline trigger token. +// The pipeline trigger token. This value is not available during import. func (o PipelineTriggerOutput) Token() pulumi.StringOutput { return o.ApplyT(func(v *PipelineTrigger) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) } diff --git a/sdk/go/gitlab/project.go b/sdk/go/gitlab/project.go index 0466fedd..acfa6310 100644 --- a/sdk/go/gitlab/project.go +++ b/sdk/go/gitlab/project.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -90,10 +90,6 @@ type Project struct { DefaultBranch pulumi.StringOutput `pulumi:"defaultBranch"` // A description of the project. Description pulumi.StringPtrOutput `pulumi:"description"` - // Disable email notifications. - // - // Deprecated: use `emailsEnabled` instead. - EmailsDisabled pulumi.BoolOutput `pulumi:"emailsDisabled"` // Enable email notifications. EmailsEnabled pulumi.BoolOutput `pulumi:"emailsEnabled"` // Whether the project is empty. @@ -189,7 +185,7 @@ type Project struct { // If true, jobs can be viewed by non-project members. PublicJobs pulumi.BoolOutput `pulumi:"publicJobs"` // Push rules for the project. - PushRules ProjectPushRulesOutput `pulumi:"pushRules"` + PushRules ProjectPushRulesTypeOutput `pulumi:"pushRules"` // Set the releases access level. Valid values are `disabled`, `private`, `enabled`. ReleasesAccessLevel pulumi.StringOutput `pulumi:"releasesAccessLevel"` // Enable `Delete source branch` option by default for all new merge requests. @@ -347,10 +343,6 @@ type projectState struct { DefaultBranch *string `pulumi:"defaultBranch"` // A description of the project. Description *string `pulumi:"description"` - // Disable email notifications. - // - // Deprecated: use `emailsEnabled` instead. - EmailsDisabled *bool `pulumi:"emailsDisabled"` // Enable email notifications. EmailsEnabled *bool `pulumi:"emailsEnabled"` // Whether the project is empty. @@ -446,7 +438,7 @@ type projectState struct { // If true, jobs can be viewed by non-project members. PublicJobs *bool `pulumi:"publicJobs"` // Push rules for the project. - PushRules *ProjectPushRules `pulumi:"pushRules"` + PushRules *ProjectPushRulesType `pulumi:"pushRules"` // Set the releases access level. Valid values are `disabled`, `private`, `enabled`. ReleasesAccessLevel *string `pulumi:"releasesAccessLevel"` // Enable `Delete source branch` option by default for all new merge requests. @@ -567,10 +559,6 @@ type ProjectState struct { DefaultBranch pulumi.StringPtrInput // A description of the project. Description pulumi.StringPtrInput - // Disable email notifications. - // - // Deprecated: use `emailsEnabled` instead. - EmailsDisabled pulumi.BoolPtrInput // Enable email notifications. EmailsEnabled pulumi.BoolPtrInput // Whether the project is empty. @@ -666,7 +654,7 @@ type ProjectState struct { // If true, jobs can be viewed by non-project members. PublicJobs pulumi.BoolPtrInput // Push rules for the project. - PushRules ProjectPushRulesPtrInput + PushRules ProjectPushRulesTypePtrInput // Set the releases access level. Valid values are `disabled`, `private`, `enabled`. ReleasesAccessLevel pulumi.StringPtrInput // Enable `Delete source branch` option by default for all new merge requests. @@ -789,10 +777,6 @@ type projectArgs struct { DefaultBranch *string `pulumi:"defaultBranch"` // A description of the project. Description *string `pulumi:"description"` - // Disable email notifications. - // - // Deprecated: use `emailsEnabled` instead. - EmailsDisabled *bool `pulumi:"emailsDisabled"` // Enable email notifications. EmailsEnabled *bool `pulumi:"emailsEnabled"` // Set the environments access level. Valid values are `disabled`, `private`, `enabled`. @@ -882,7 +866,7 @@ type projectArgs struct { // If true, jobs can be viewed by non-project members. PublicJobs *bool `pulumi:"publicJobs"` // Push rules for the project. - PushRules *ProjectPushRules `pulumi:"pushRules"` + PushRules *ProjectPushRulesType `pulumi:"pushRules"` // Set the releases access level. Valid values are `disabled`, `private`, `enabled`. ReleasesAccessLevel *string `pulumi:"releasesAccessLevel"` // Enable `Delete source branch` option by default for all new merge requests. @@ -996,10 +980,6 @@ type ProjectArgs struct { DefaultBranch pulumi.StringPtrInput // A description of the project. Description pulumi.StringPtrInput - // Disable email notifications. - // - // Deprecated: use `emailsEnabled` instead. - EmailsDisabled pulumi.BoolPtrInput // Enable email notifications. EmailsEnabled pulumi.BoolPtrInput // Set the environments access level. Valid values are `disabled`, `private`, `enabled`. @@ -1089,7 +1069,7 @@ type ProjectArgs struct { // If true, jobs can be viewed by non-project members. PublicJobs pulumi.BoolPtrInput // Push rules for the project. - PushRules ProjectPushRulesPtrInput + PushRules ProjectPushRulesTypePtrInput // Set the releases access level. Valid values are `disabled`, `private`, `enabled`. ReleasesAccessLevel pulumi.StringPtrInput // Enable `Delete source branch` option by default for all new merge requests. @@ -1368,13 +1348,6 @@ func (o ProjectOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Project) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -// Disable email notifications. -// -// Deprecated: use `emailsEnabled` instead. -func (o ProjectOutput) EmailsDisabled() pulumi.BoolOutput { - return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.EmailsDisabled }).(pulumi.BoolOutput) -} - // Enable email notifications. func (o ProjectOutput) EmailsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.EmailsEnabled }).(pulumi.BoolOutput) @@ -1605,8 +1578,8 @@ func (o ProjectOutput) PublicJobs() pulumi.BoolOutput { } // Push rules for the project. -func (o ProjectOutput) PushRules() ProjectPushRulesOutput { - return o.ApplyT(func(v *Project) ProjectPushRulesOutput { return v.PushRules }).(ProjectPushRulesOutput) +func (o ProjectOutput) PushRules() ProjectPushRulesTypeOutput { + return o.ApplyT(func(v *Project) ProjectPushRulesTypeOutput { return v.PushRules }).(ProjectPushRulesTypeOutput) } // Set the releases access level. Valid values are `disabled`, `private`, `enabled`. diff --git a/sdk/go/gitlab/projectAccessToken.go b/sdk/go/gitlab/projectAccessToken.go index d023ca47..4e4b496e 100644 --- a/sdk/go/gitlab/projectAccessToken.go +++ b/sdk/go/gitlab/projectAccessToken.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -29,7 +29,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -74,7 +74,7 @@ import ( type ProjectAccessToken struct { pulumi.CustomResourceState - // The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + // The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. AccessLevel pulumi.StringOutput `pulumi:"accessLevel"` // True if the token is active. Active pulumi.BoolOutput `pulumi:"active"` @@ -138,7 +138,7 @@ func GetProjectAccessToken(ctx *pulumi.Context, // Input properties used for looking up and filtering ProjectAccessToken resources. type projectAccessTokenState struct { - // The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + // The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. AccessLevel *string `pulumi:"accessLevel"` // True if the token is active. Active *bool `pulumi:"active"` @@ -163,7 +163,7 @@ type projectAccessTokenState struct { } type ProjectAccessTokenState struct { - // The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + // The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. AccessLevel pulumi.StringPtrInput // True if the token is active. Active pulumi.BoolPtrInput @@ -192,7 +192,7 @@ func (ProjectAccessTokenState) ElementType() reflect.Type { } type projectAccessTokenArgs struct { - // The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + // The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. AccessLevel *string `pulumi:"accessLevel"` // When the token will expire, YYYY-MM-DD format. Is automatically set when `rotationConfiguration` is used. ExpiresAt *string `pulumi:"expiresAt"` @@ -208,7 +208,7 @@ type projectAccessTokenArgs struct { // The set of arguments for constructing a ProjectAccessToken resource. type ProjectAccessTokenArgs struct { - // The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + // The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. AccessLevel pulumi.StringPtrInput // When the token will expire, YYYY-MM-DD format. Is automatically set when `rotationConfiguration` is used. ExpiresAt pulumi.StringPtrInput @@ -309,7 +309,7 @@ func (o ProjectAccessTokenOutput) ToProjectAccessTokenOutputWithContext(ctx cont return o } -// The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. +// The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. func (o ProjectAccessTokenOutput) AccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *ProjectAccessToken) pulumi.StringOutput { return v.AccessLevel }).(pulumi.StringOutput) } diff --git a/sdk/go/gitlab/projectApprovalRule.go b/sdk/go/gitlab/projectApprovalRule.go index 31d11684..dfd2dc00 100644 --- a/sdk/go/gitlab/projectApprovalRule.go +++ b/sdk/go/gitlab/projectApprovalRule.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/projectBadge.go b/sdk/go/gitlab/projectBadge.go index bb28de93..e2535ea8 100644 --- a/sdk/go/gitlab/projectBadge.go +++ b/sdk/go/gitlab/projectBadge.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectCluster.go b/sdk/go/gitlab/projectCluster.go index d6535b84..4ec7f47a 100644 --- a/sdk/go/gitlab/projectCluster.go +++ b/sdk/go/gitlab/projectCluster.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectComplianceFramework.go b/sdk/go/gitlab/projectComplianceFramework.go index c8b6941a..097509bb 100644 --- a/sdk/go/gitlab/projectComplianceFramework.go +++ b/sdk/go/gitlab/projectComplianceFramework.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectCustomAttribute.go b/sdk/go/gitlab/projectCustomAttribute.go index eca49e42..f6301c50 100644 --- a/sdk/go/gitlab/projectCustomAttribute.go +++ b/sdk/go/gitlab/projectCustomAttribute.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectEnvironment.go b/sdk/go/gitlab/projectEnvironment.go index 449b2750..a45c57d5 100644 --- a/sdk/go/gitlab/projectEnvironment.go +++ b/sdk/go/gitlab/projectEnvironment.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -19,7 +19,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectFreezePeriod.go b/sdk/go/gitlab/projectFreezePeriod.go index a4caefa5..c1e3eea3 100644 --- a/sdk/go/gitlab/projectFreezePeriod.go +++ b/sdk/go/gitlab/projectFreezePeriod.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectHook.go b/sdk/go/gitlab/projectHook.go index 7e588694..73d25b66 100644 --- a/sdk/go/gitlab/projectHook.go +++ b/sdk/go/gitlab/projectHook.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectIssue.go b/sdk/go/gitlab/projectIssue.go index 8d91af5a..b3365a8d 100644 --- a/sdk/go/gitlab/projectIssue.go +++ b/sdk/go/gitlab/projectIssue.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -21,7 +21,7 @@ import ( // // "fmt" // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectIssueBoard.go b/sdk/go/gitlab/projectIssueBoard.go index e7c3e8b9..079bb9ad 100644 --- a/sdk/go/gitlab/projectIssueBoard.go +++ b/sdk/go/gitlab/projectIssueBoard.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/projectJobTokenScope.go b/sdk/go/gitlab/projectJobTokenScope.go index ba15fb2b..e5623bf0 100644 --- a/sdk/go/gitlab/projectJobTokenScope.go +++ b/sdk/go/gitlab/projectJobTokenScope.go @@ -8,17 +8,20 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // The `ProjectJobTokenScope` resource allows to manage the CI/CD Job Token scope in a project. +// Any projects added to the CI/CD Job Token scope outside of TF will be untouched by the resource. +// +// > Conflicts with the use of `ProjectJobTokenScopes` when used on the same project. Use one or the other to ensure the desired state. // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) // // ## Import // -// GitLab project environments can be imported using an id made up of `projectId:targetProjectId`, e.g. +// GitLab project job token scopes can be imported using an id made up of `projectId:targetProjectId`, e.g. // // ```sh // $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:321 diff --git a/sdk/go/gitlab/projectJobTokenScopes.go b/sdk/go/gitlab/projectJobTokenScopes.go new file mode 100644 index 00000000..3ef54bdc --- /dev/null +++ b/sdk/go/gitlab/projectJobTokenScopes.go @@ -0,0 +1,250 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The `ProjectJobTokenScopes` resource allows to manage the CI/CD Job Token scopes in a project. +// Any project not within the defined set in this attribute will be removed, which allows this resource to be used as an explicit deny. +// +// > Conflicts with the use of `ProjectJobTokenScope` when used on the same project. Use one or the other to ensure the desired state. +// +// **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) +// +// ## Import +// +// GitLab project job token scopes can be imported using an id made up of just the `project_id` as an integer +// +// ```sh +// $ pulumi import gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes bar 123 +// ``` +type ProjectJobTokenScopes struct { + pulumi.CustomResourceState + + // The ID of the project. + ProjectId pulumi.IntOutput `pulumi:"projectId"` + // A set of project IDs that are in the CI/CD job token inbound allowlist. + TargetProjectIds pulumi.IntArrayOutput `pulumi:"targetProjectIds"` +} + +// NewProjectJobTokenScopes registers a new resource with the given unique name, arguments, and options. +func NewProjectJobTokenScopes(ctx *pulumi.Context, + name string, args *ProjectJobTokenScopesArgs, opts ...pulumi.ResourceOption) (*ProjectJobTokenScopes, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.TargetProjectIds == nil { + return nil, errors.New("invalid value for required argument 'TargetProjectIds'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectJobTokenScopes + err := ctx.RegisterResource("gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectJobTokenScopes gets an existing ProjectJobTokenScopes resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectJobTokenScopes(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectJobTokenScopesState, opts ...pulumi.ResourceOption) (*ProjectJobTokenScopes, error) { + var resource ProjectJobTokenScopes + err := ctx.ReadResource("gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectJobTokenScopes resources. +type projectJobTokenScopesState struct { + // The ID of the project. + ProjectId *int `pulumi:"projectId"` + // A set of project IDs that are in the CI/CD job token inbound allowlist. + TargetProjectIds []int `pulumi:"targetProjectIds"` +} + +type ProjectJobTokenScopesState struct { + // The ID of the project. + ProjectId pulumi.IntPtrInput + // A set of project IDs that are in the CI/CD job token inbound allowlist. + TargetProjectIds pulumi.IntArrayInput +} + +func (ProjectJobTokenScopesState) ElementType() reflect.Type { + return reflect.TypeOf((*projectJobTokenScopesState)(nil)).Elem() +} + +type projectJobTokenScopesArgs struct { + // The ID of the project. + ProjectId int `pulumi:"projectId"` + // A set of project IDs that are in the CI/CD job token inbound allowlist. + TargetProjectIds []int `pulumi:"targetProjectIds"` +} + +// The set of arguments for constructing a ProjectJobTokenScopes resource. +type ProjectJobTokenScopesArgs struct { + // The ID of the project. + ProjectId pulumi.IntInput + // A set of project IDs that are in the CI/CD job token inbound allowlist. + TargetProjectIds pulumi.IntArrayInput +} + +func (ProjectJobTokenScopesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectJobTokenScopesArgs)(nil)).Elem() +} + +type ProjectJobTokenScopesInput interface { + pulumi.Input + + ToProjectJobTokenScopesOutput() ProjectJobTokenScopesOutput + ToProjectJobTokenScopesOutputWithContext(ctx context.Context) ProjectJobTokenScopesOutput +} + +func (*ProjectJobTokenScopes) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectJobTokenScopes)(nil)).Elem() +} + +func (i *ProjectJobTokenScopes) ToProjectJobTokenScopesOutput() ProjectJobTokenScopesOutput { + return i.ToProjectJobTokenScopesOutputWithContext(context.Background()) +} + +func (i *ProjectJobTokenScopes) ToProjectJobTokenScopesOutputWithContext(ctx context.Context) ProjectJobTokenScopesOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectJobTokenScopesOutput) +} + +// ProjectJobTokenScopesArrayInput is an input type that accepts ProjectJobTokenScopesArray and ProjectJobTokenScopesArrayOutput values. +// You can construct a concrete instance of `ProjectJobTokenScopesArrayInput` via: +// +// ProjectJobTokenScopesArray{ ProjectJobTokenScopesArgs{...} } +type ProjectJobTokenScopesArrayInput interface { + pulumi.Input + + ToProjectJobTokenScopesArrayOutput() ProjectJobTokenScopesArrayOutput + ToProjectJobTokenScopesArrayOutputWithContext(context.Context) ProjectJobTokenScopesArrayOutput +} + +type ProjectJobTokenScopesArray []ProjectJobTokenScopesInput + +func (ProjectJobTokenScopesArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectJobTokenScopes)(nil)).Elem() +} + +func (i ProjectJobTokenScopesArray) ToProjectJobTokenScopesArrayOutput() ProjectJobTokenScopesArrayOutput { + return i.ToProjectJobTokenScopesArrayOutputWithContext(context.Background()) +} + +func (i ProjectJobTokenScopesArray) ToProjectJobTokenScopesArrayOutputWithContext(ctx context.Context) ProjectJobTokenScopesArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectJobTokenScopesArrayOutput) +} + +// ProjectJobTokenScopesMapInput is an input type that accepts ProjectJobTokenScopesMap and ProjectJobTokenScopesMapOutput values. +// You can construct a concrete instance of `ProjectJobTokenScopesMapInput` via: +// +// ProjectJobTokenScopesMap{ "key": ProjectJobTokenScopesArgs{...} } +type ProjectJobTokenScopesMapInput interface { + pulumi.Input + + ToProjectJobTokenScopesMapOutput() ProjectJobTokenScopesMapOutput + ToProjectJobTokenScopesMapOutputWithContext(context.Context) ProjectJobTokenScopesMapOutput +} + +type ProjectJobTokenScopesMap map[string]ProjectJobTokenScopesInput + +func (ProjectJobTokenScopesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectJobTokenScopes)(nil)).Elem() +} + +func (i ProjectJobTokenScopesMap) ToProjectJobTokenScopesMapOutput() ProjectJobTokenScopesMapOutput { + return i.ToProjectJobTokenScopesMapOutputWithContext(context.Background()) +} + +func (i ProjectJobTokenScopesMap) ToProjectJobTokenScopesMapOutputWithContext(ctx context.Context) ProjectJobTokenScopesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectJobTokenScopesMapOutput) +} + +type ProjectJobTokenScopesOutput struct{ *pulumi.OutputState } + +func (ProjectJobTokenScopesOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectJobTokenScopes)(nil)).Elem() +} + +func (o ProjectJobTokenScopesOutput) ToProjectJobTokenScopesOutput() ProjectJobTokenScopesOutput { + return o +} + +func (o ProjectJobTokenScopesOutput) ToProjectJobTokenScopesOutputWithContext(ctx context.Context) ProjectJobTokenScopesOutput { + return o +} + +// The ID of the project. +func (o ProjectJobTokenScopesOutput) ProjectId() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectJobTokenScopes) pulumi.IntOutput { return v.ProjectId }).(pulumi.IntOutput) +} + +// A set of project IDs that are in the CI/CD job token inbound allowlist. +func (o ProjectJobTokenScopesOutput) TargetProjectIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ProjectJobTokenScopes) pulumi.IntArrayOutput { return v.TargetProjectIds }).(pulumi.IntArrayOutput) +} + +type ProjectJobTokenScopesArrayOutput struct{ *pulumi.OutputState } + +func (ProjectJobTokenScopesArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectJobTokenScopes)(nil)).Elem() +} + +func (o ProjectJobTokenScopesArrayOutput) ToProjectJobTokenScopesArrayOutput() ProjectJobTokenScopesArrayOutput { + return o +} + +func (o ProjectJobTokenScopesArrayOutput) ToProjectJobTokenScopesArrayOutputWithContext(ctx context.Context) ProjectJobTokenScopesArrayOutput { + return o +} + +func (o ProjectJobTokenScopesArrayOutput) Index(i pulumi.IntInput) ProjectJobTokenScopesOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectJobTokenScopes { + return vs[0].([]*ProjectJobTokenScopes)[vs[1].(int)] + }).(ProjectJobTokenScopesOutput) +} + +type ProjectJobTokenScopesMapOutput struct{ *pulumi.OutputState } + +func (ProjectJobTokenScopesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectJobTokenScopes)(nil)).Elem() +} + +func (o ProjectJobTokenScopesMapOutput) ToProjectJobTokenScopesMapOutput() ProjectJobTokenScopesMapOutput { + return o +} + +func (o ProjectJobTokenScopesMapOutput) ToProjectJobTokenScopesMapOutputWithContext(ctx context.Context) ProjectJobTokenScopesMapOutput { + return o +} + +func (o ProjectJobTokenScopesMapOutput) MapIndex(k pulumi.StringInput) ProjectJobTokenScopesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectJobTokenScopes { + return vs[0].(map[string]*ProjectJobTokenScopes)[vs[1].(string)] + }).(ProjectJobTokenScopesOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectJobTokenScopesInput)(nil)).Elem(), &ProjectJobTokenScopes{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectJobTokenScopesArrayInput)(nil)).Elem(), ProjectJobTokenScopesArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectJobTokenScopesMapInput)(nil)).Elem(), ProjectJobTokenScopesMap{}) + pulumi.RegisterOutputType(ProjectJobTokenScopesOutput{}) + pulumi.RegisterOutputType(ProjectJobTokenScopesArrayOutput{}) + pulumi.RegisterOutputType(ProjectJobTokenScopesMapOutput{}) +} diff --git a/sdk/go/gitlab/projectLabel.go b/sdk/go/gitlab/projectLabel.go index 6f478173..dda5eeca 100644 --- a/sdk/go/gitlab/projectLabel.go +++ b/sdk/go/gitlab/projectLabel.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectLevelMrApprovals.go b/sdk/go/gitlab/projectLevelMrApprovals.go index 2d5c45b5..913c159f 100644 --- a/sdk/go/gitlab/projectLevelMrApprovals.go +++ b/sdk/go/gitlab/projectLevelMrApprovals.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectLevelNotifications.go b/sdk/go/gitlab/projectLevelNotifications.go index 23d7aaa9..2740cb7a 100644 --- a/sdk/go/gitlab/projectLevelNotifications.go +++ b/sdk/go/gitlab/projectLevelNotifications.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/projectMembership.go b/sdk/go/gitlab/projectMembership.go index 03e260d6..9e2cf84d 100644 --- a/sdk/go/gitlab/projectMembership.go +++ b/sdk/go/gitlab/projectMembership.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -65,7 +65,7 @@ import ( type ProjectMembership struct { pulumi.CustomResourceState - // The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` AccessLevel pulumi.StringOutput `pulumi:"accessLevel"` // Expiration date for the project membership. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrOutput `pulumi:"expiresAt"` @@ -114,7 +114,7 @@ func GetProjectMembership(ctx *pulumi.Context, // Input properties used for looking up and filtering ProjectMembership resources. type projectMembershipState struct { - // The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` AccessLevel *string `pulumi:"accessLevel"` // Expiration date for the project membership. Format: `YYYY-MM-DD` ExpiresAt *string `pulumi:"expiresAt"` @@ -125,7 +125,7 @@ type projectMembershipState struct { } type ProjectMembershipState struct { - // The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` AccessLevel pulumi.StringPtrInput // Expiration date for the project membership. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrInput @@ -140,7 +140,7 @@ func (ProjectMembershipState) ElementType() reflect.Type { } type projectMembershipArgs struct { - // The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` AccessLevel string `pulumi:"accessLevel"` // Expiration date for the project membership. Format: `YYYY-MM-DD` ExpiresAt *string `pulumi:"expiresAt"` @@ -152,7 +152,7 @@ type projectMembershipArgs struct { // The set of arguments for constructing a ProjectMembership resource. type ProjectMembershipArgs struct { - // The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` AccessLevel pulumi.StringInput // Expiration date for the project membership. Format: `YYYY-MM-DD` ExpiresAt pulumi.StringPtrInput @@ -249,7 +249,7 @@ func (o ProjectMembershipOutput) ToProjectMembershipOutputWithContext(ctx contex return o } -// The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` +// The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` func (o ProjectMembershipOutput) AccessLevel() pulumi.StringOutput { return o.ApplyT(func(v *ProjectMembership) pulumi.StringOutput { return v.AccessLevel }).(pulumi.StringOutput) } diff --git a/sdk/go/gitlab/projectMilestone.go b/sdk/go/gitlab/projectMilestone.go index c698139a..3d21a471 100644 --- a/sdk/go/gitlab/projectMilestone.go +++ b/sdk/go/gitlab/projectMilestone.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectMirror.go b/sdk/go/gitlab/projectMirror.go index ac37ad67..508bf60d 100644 --- a/sdk/go/gitlab/projectMirror.go +++ b/sdk/go/gitlab/projectMirror.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -36,7 +36,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectProtectedEnvironment.go b/sdk/go/gitlab/projectProtectedEnvironment.go index 06645c4d..b0dce28a 100644 --- a/sdk/go/gitlab/projectProtectedEnvironment.go +++ b/sdk/go/gitlab/projectProtectedEnvironment.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -41,8 +41,6 @@ type ProjectProtectedEnvironment struct { Environment pulumi.StringOutput `pulumi:"environment"` // The ID or full path of the project which the protected environment is created against. Project pulumi.StringOutput `pulumi:"project"` - // The number of approvals required to deploy to this environment. - RequiredApprovalCount pulumi.IntOutput `pulumi:"requiredApprovalCount"` } // NewProjectProtectedEnvironment registers a new resource with the given unique name, arguments, and options. @@ -89,8 +87,6 @@ type projectProtectedEnvironmentState struct { Environment *string `pulumi:"environment"` // The ID or full path of the project which the protected environment is created against. Project *string `pulumi:"project"` - // The number of approvals required to deploy to this environment. - RequiredApprovalCount *int `pulumi:"requiredApprovalCount"` } type ProjectProtectedEnvironmentState struct { @@ -102,8 +98,6 @@ type ProjectProtectedEnvironmentState struct { Environment pulumi.StringPtrInput // The ID or full path of the project which the protected environment is created against. Project pulumi.StringPtrInput - // The number of approvals required to deploy to this environment. - RequiredApprovalCount pulumi.IntPtrInput } func (ProjectProtectedEnvironmentState) ElementType() reflect.Type { @@ -119,8 +113,6 @@ type projectProtectedEnvironmentArgs struct { Environment string `pulumi:"environment"` // The ID or full path of the project which the protected environment is created against. Project string `pulumi:"project"` - // The number of approvals required to deploy to this environment. - RequiredApprovalCount *int `pulumi:"requiredApprovalCount"` } // The set of arguments for constructing a ProjectProtectedEnvironment resource. @@ -133,8 +125,6 @@ type ProjectProtectedEnvironmentArgs struct { Environment pulumi.StringInput // The ID or full path of the project which the protected environment is created against. Project pulumi.StringInput - // The number of approvals required to deploy to this environment. - RequiredApprovalCount pulumi.IntPtrInput } func (ProjectProtectedEnvironmentArgs) ElementType() reflect.Type { @@ -248,11 +238,6 @@ func (o ProjectProtectedEnvironmentOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *ProjectProtectedEnvironment) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } -// The number of approvals required to deploy to this environment. -func (o ProjectProtectedEnvironmentOutput) RequiredApprovalCount() pulumi.IntOutput { - return o.ApplyT(func(v *ProjectProtectedEnvironment) pulumi.IntOutput { return v.RequiredApprovalCount }).(pulumi.IntOutput) -} - type ProjectProtectedEnvironmentArrayOutput struct{ *pulumi.OutputState } func (ProjectProtectedEnvironmentArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/gitlab/projectPushRules.go b/sdk/go/gitlab/projectPushRules.go new file mode 100644 index 00000000..012a0a00 --- /dev/null +++ b/sdk/go/gitlab/projectPushRules.go @@ -0,0 +1,443 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gitlab + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := gitlab.NewProjectPushRules(ctx, "sample", &gitlab.ProjectPushRulesArgs{ +// Project: pulumi.String("42"), +// AuthorEmailRegex: pulumi.String("@gitlab.com$"), +// BranchNameRegex: pulumi.String("(feat|fix)\\/*"), +// CommitCommitterCheck: pulumi.Bool(true), +// CommitCommitterNameCheck: pulumi.Bool(true), +// CommitMessageNegativeRegex: pulumi.String("ssh\\:\\/\\/"), +// CommitMessageRegex: pulumi.String("(feat|fix):.*"), +// DenyDeleteTag: pulumi.Bool(false), +// FileNameRegex: pulumi.String("(jar|exe)$"), +// MaxFileSize: pulumi.Int(4), +// MemberCheck: pulumi.Bool(true), +// PreventSecrets: pulumi.Bool(true), +// RejectUnsignedCommits: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Gitlab project push rules can be imported with a key composed of ``, e.g. +// +// ```sh +// $ pulumi import gitlab:index/projectPushRules:ProjectPushRules sample "42" +// ``` +type ProjectPushRules struct { + pulumi.CustomResourceState + + // All commit author emails must match this regex, e.g. `@my-company.com$`. + AuthorEmailRegex pulumi.StringOutput `pulumi:"authorEmailRegex"` + // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + BranchNameRegex pulumi.StringOutput `pulumi:"branchNameRegex"` + // Users can only push commits to this repository that were committed with one of their own verified emails. + CommitCommitterCheck pulumi.BoolOutput `pulumi:"commitCommitterCheck"` + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck pulumi.BoolOutput `pulumi:"commitCommitterNameCheck"` + // No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + CommitMessageNegativeRegex pulumi.StringOutput `pulumi:"commitMessageNegativeRegex"` + // All commit messages must match this regex, e.g. `Fixed \d+\..*`. + CommitMessageRegex pulumi.StringOutput `pulumi:"commitMessageRegex"` + // Deny deleting a tag. + DenyDeleteTag pulumi.BoolOutput `pulumi:"denyDeleteTag"` + // All committed filenames must not match this regex, e.g. `(jar|exe)$`. + FileNameRegex pulumi.StringOutput `pulumi:"fileNameRegex"` + // Maximum file size (MB). + MaxFileSize pulumi.IntOutput `pulumi:"maxFileSize"` + // Restrict commits by author (email) to existing GitLab users. + MemberCheck pulumi.BoolOutput `pulumi:"memberCheck"` + // GitLab will reject any files that are likely to contain secrets. + PreventSecrets pulumi.BoolOutput `pulumi:"preventSecrets"` + // The ID or URL-encoded path of the project. + Project pulumi.StringOutput `pulumi:"project"` + // Reject commit when it’s not signed. + RejectUnsignedCommits pulumi.BoolOutput `pulumi:"rejectUnsignedCommits"` +} + +// NewProjectPushRules registers a new resource with the given unique name, arguments, and options. +func NewProjectPushRules(ctx *pulumi.Context, + name string, args *ProjectPushRulesArgs, opts ...pulumi.ResourceOption) (*ProjectPushRules, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Project == nil { + return nil, errors.New("invalid value for required argument 'Project'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProjectPushRules + err := ctx.RegisterResource("gitlab:index/projectPushRules:ProjectPushRules", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProjectPushRules gets an existing ProjectPushRules resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetProjectPushRules(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProjectPushRulesState, opts ...pulumi.ResourceOption) (*ProjectPushRules, error) { + var resource ProjectPushRules + err := ctx.ReadResource("gitlab:index/projectPushRules:ProjectPushRules", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProjectPushRules resources. +type projectPushRulesState struct { + // All commit author emails must match this regex, e.g. `@my-company.com$`. + AuthorEmailRegex *string `pulumi:"authorEmailRegex"` + // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + BranchNameRegex *string `pulumi:"branchNameRegex"` + // Users can only push commits to this repository that were committed with one of their own verified emails. + CommitCommitterCheck *bool `pulumi:"commitCommitterCheck"` + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck *bool `pulumi:"commitCommitterNameCheck"` + // No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + CommitMessageNegativeRegex *string `pulumi:"commitMessageNegativeRegex"` + // All commit messages must match this regex, e.g. `Fixed \d+\..*`. + CommitMessageRegex *string `pulumi:"commitMessageRegex"` + // Deny deleting a tag. + DenyDeleteTag *bool `pulumi:"denyDeleteTag"` + // All committed filenames must not match this regex, e.g. `(jar|exe)$`. + FileNameRegex *string `pulumi:"fileNameRegex"` + // Maximum file size (MB). + MaxFileSize *int `pulumi:"maxFileSize"` + // Restrict commits by author (email) to existing GitLab users. + MemberCheck *bool `pulumi:"memberCheck"` + // GitLab will reject any files that are likely to contain secrets. + PreventSecrets *bool `pulumi:"preventSecrets"` + // The ID or URL-encoded path of the project. + Project *string `pulumi:"project"` + // Reject commit when it’s not signed. + RejectUnsignedCommits *bool `pulumi:"rejectUnsignedCommits"` +} + +type ProjectPushRulesState struct { + // All commit author emails must match this regex, e.g. `@my-company.com$`. + AuthorEmailRegex pulumi.StringPtrInput + // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + BranchNameRegex pulumi.StringPtrInput + // Users can only push commits to this repository that were committed with one of their own verified emails. + CommitCommitterCheck pulumi.BoolPtrInput + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck pulumi.BoolPtrInput + // No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + CommitMessageNegativeRegex pulumi.StringPtrInput + // All commit messages must match this regex, e.g. `Fixed \d+\..*`. + CommitMessageRegex pulumi.StringPtrInput + // Deny deleting a tag. + DenyDeleteTag pulumi.BoolPtrInput + // All committed filenames must not match this regex, e.g. `(jar|exe)$`. + FileNameRegex pulumi.StringPtrInput + // Maximum file size (MB). + MaxFileSize pulumi.IntPtrInput + // Restrict commits by author (email) to existing GitLab users. + MemberCheck pulumi.BoolPtrInput + // GitLab will reject any files that are likely to contain secrets. + PreventSecrets pulumi.BoolPtrInput + // The ID or URL-encoded path of the project. + Project pulumi.StringPtrInput + // Reject commit when it’s not signed. + RejectUnsignedCommits pulumi.BoolPtrInput +} + +func (ProjectPushRulesState) ElementType() reflect.Type { + return reflect.TypeOf((*projectPushRulesState)(nil)).Elem() +} + +type projectPushRulesArgs struct { + // All commit author emails must match this regex, e.g. `@my-company.com$`. + AuthorEmailRegex *string `pulumi:"authorEmailRegex"` + // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + BranchNameRegex *string `pulumi:"branchNameRegex"` + // Users can only push commits to this repository that were committed with one of their own verified emails. + CommitCommitterCheck *bool `pulumi:"commitCommitterCheck"` + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck *bool `pulumi:"commitCommitterNameCheck"` + // No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + CommitMessageNegativeRegex *string `pulumi:"commitMessageNegativeRegex"` + // All commit messages must match this regex, e.g. `Fixed \d+\..*`. + CommitMessageRegex *string `pulumi:"commitMessageRegex"` + // Deny deleting a tag. + DenyDeleteTag *bool `pulumi:"denyDeleteTag"` + // All committed filenames must not match this regex, e.g. `(jar|exe)$`. + FileNameRegex *string `pulumi:"fileNameRegex"` + // Maximum file size (MB). + MaxFileSize *int `pulumi:"maxFileSize"` + // Restrict commits by author (email) to existing GitLab users. + MemberCheck *bool `pulumi:"memberCheck"` + // GitLab will reject any files that are likely to contain secrets. + PreventSecrets *bool `pulumi:"preventSecrets"` + // The ID or URL-encoded path of the project. + Project string `pulumi:"project"` + // Reject commit when it’s not signed. + RejectUnsignedCommits *bool `pulumi:"rejectUnsignedCommits"` +} + +// The set of arguments for constructing a ProjectPushRules resource. +type ProjectPushRulesArgs struct { + // All commit author emails must match this regex, e.g. `@my-company.com$`. + AuthorEmailRegex pulumi.StringPtrInput + // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + BranchNameRegex pulumi.StringPtrInput + // Users can only push commits to this repository that were committed with one of their own verified emails. + CommitCommitterCheck pulumi.BoolPtrInput + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck pulumi.BoolPtrInput + // No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + CommitMessageNegativeRegex pulumi.StringPtrInput + // All commit messages must match this regex, e.g. `Fixed \d+\..*`. + CommitMessageRegex pulumi.StringPtrInput + // Deny deleting a tag. + DenyDeleteTag pulumi.BoolPtrInput + // All committed filenames must not match this regex, e.g. `(jar|exe)$`. + FileNameRegex pulumi.StringPtrInput + // Maximum file size (MB). + MaxFileSize pulumi.IntPtrInput + // Restrict commits by author (email) to existing GitLab users. + MemberCheck pulumi.BoolPtrInput + // GitLab will reject any files that are likely to contain secrets. + PreventSecrets pulumi.BoolPtrInput + // The ID or URL-encoded path of the project. + Project pulumi.StringInput + // Reject commit when it’s not signed. + RejectUnsignedCommits pulumi.BoolPtrInput +} + +func (ProjectPushRulesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*projectPushRulesArgs)(nil)).Elem() +} + +type ProjectPushRulesInput interface { + pulumi.Input + + ToProjectPushRulesOutput() ProjectPushRulesOutput + ToProjectPushRulesOutputWithContext(ctx context.Context) ProjectPushRulesOutput +} + +func (*ProjectPushRules) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPushRules)(nil)).Elem() +} + +func (i *ProjectPushRules) ToProjectPushRulesOutput() ProjectPushRulesOutput { + return i.ToProjectPushRulesOutputWithContext(context.Background()) +} + +func (i *ProjectPushRules) ToProjectPushRulesOutputWithContext(ctx context.Context) ProjectPushRulesOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPushRulesOutput) +} + +// ProjectPushRulesArrayInput is an input type that accepts ProjectPushRulesArray and ProjectPushRulesArrayOutput values. +// You can construct a concrete instance of `ProjectPushRulesArrayInput` via: +// +// ProjectPushRulesArray{ ProjectPushRulesArgs{...} } +type ProjectPushRulesArrayInput interface { + pulumi.Input + + ToProjectPushRulesArrayOutput() ProjectPushRulesArrayOutput + ToProjectPushRulesArrayOutputWithContext(context.Context) ProjectPushRulesArrayOutput +} + +type ProjectPushRulesArray []ProjectPushRulesInput + +func (ProjectPushRulesArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPushRules)(nil)).Elem() +} + +func (i ProjectPushRulesArray) ToProjectPushRulesArrayOutput() ProjectPushRulesArrayOutput { + return i.ToProjectPushRulesArrayOutputWithContext(context.Background()) +} + +func (i ProjectPushRulesArray) ToProjectPushRulesArrayOutputWithContext(ctx context.Context) ProjectPushRulesArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPushRulesArrayOutput) +} + +// ProjectPushRulesMapInput is an input type that accepts ProjectPushRulesMap and ProjectPushRulesMapOutput values. +// You can construct a concrete instance of `ProjectPushRulesMapInput` via: +// +// ProjectPushRulesMap{ "key": ProjectPushRulesArgs{...} } +type ProjectPushRulesMapInput interface { + pulumi.Input + + ToProjectPushRulesMapOutput() ProjectPushRulesMapOutput + ToProjectPushRulesMapOutputWithContext(context.Context) ProjectPushRulesMapOutput +} + +type ProjectPushRulesMap map[string]ProjectPushRulesInput + +func (ProjectPushRulesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPushRules)(nil)).Elem() +} + +func (i ProjectPushRulesMap) ToProjectPushRulesMapOutput() ProjectPushRulesMapOutput { + return i.ToProjectPushRulesMapOutputWithContext(context.Background()) +} + +func (i ProjectPushRulesMap) ToProjectPushRulesMapOutputWithContext(ctx context.Context) ProjectPushRulesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPushRulesMapOutput) +} + +type ProjectPushRulesOutput struct{ *pulumi.OutputState } + +func (ProjectPushRulesOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPushRules)(nil)).Elem() +} + +func (o ProjectPushRulesOutput) ToProjectPushRulesOutput() ProjectPushRulesOutput { + return o +} + +func (o ProjectPushRulesOutput) ToProjectPushRulesOutputWithContext(ctx context.Context) ProjectPushRulesOutput { + return o +} + +// All commit author emails must match this regex, e.g. `@my-company.com$`. +func (o ProjectPushRulesOutput) AuthorEmailRegex() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.StringOutput { return v.AuthorEmailRegex }).(pulumi.StringOutput) +} + +// All branch names must match this regex, e.g. `(feature|hotfix)\/*`. +func (o ProjectPushRulesOutput) BranchNameRegex() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.StringOutput { return v.BranchNameRegex }).(pulumi.StringOutput) +} + +// Users can only push commits to this repository that were committed with one of their own verified emails. +func (o ProjectPushRulesOutput) CommitCommitterCheck() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.BoolOutput { return v.CommitCommitterCheck }).(pulumi.BoolOutput) +} + +// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. +func (o ProjectPushRulesOutput) CommitCommitterNameCheck() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.BoolOutput { return v.CommitCommitterNameCheck }).(pulumi.BoolOutput) +} + +// No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. +func (o ProjectPushRulesOutput) CommitMessageNegativeRegex() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.StringOutput { return v.CommitMessageNegativeRegex }).(pulumi.StringOutput) +} + +// All commit messages must match this regex, e.g. `Fixed \d+\..*`. +func (o ProjectPushRulesOutput) CommitMessageRegex() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.StringOutput { return v.CommitMessageRegex }).(pulumi.StringOutput) +} + +// Deny deleting a tag. +func (o ProjectPushRulesOutput) DenyDeleteTag() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.BoolOutput { return v.DenyDeleteTag }).(pulumi.BoolOutput) +} + +// All committed filenames must not match this regex, e.g. `(jar|exe)$`. +func (o ProjectPushRulesOutput) FileNameRegex() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.StringOutput { return v.FileNameRegex }).(pulumi.StringOutput) +} + +// Maximum file size (MB). +func (o ProjectPushRulesOutput) MaxFileSize() pulumi.IntOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.IntOutput { return v.MaxFileSize }).(pulumi.IntOutput) +} + +// Restrict commits by author (email) to existing GitLab users. +func (o ProjectPushRulesOutput) MemberCheck() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.BoolOutput { return v.MemberCheck }).(pulumi.BoolOutput) +} + +// GitLab will reject any files that are likely to contain secrets. +func (o ProjectPushRulesOutput) PreventSecrets() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.BoolOutput { return v.PreventSecrets }).(pulumi.BoolOutput) +} + +// The ID or URL-encoded path of the project. +func (o ProjectPushRulesOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) +} + +// Reject commit when it’s not signed. +func (o ProjectPushRulesOutput) RejectUnsignedCommits() pulumi.BoolOutput { + return o.ApplyT(func(v *ProjectPushRules) pulumi.BoolOutput { return v.RejectUnsignedCommits }).(pulumi.BoolOutput) +} + +type ProjectPushRulesArrayOutput struct{ *pulumi.OutputState } + +func (ProjectPushRulesArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProjectPushRules)(nil)).Elem() +} + +func (o ProjectPushRulesArrayOutput) ToProjectPushRulesArrayOutput() ProjectPushRulesArrayOutput { + return o +} + +func (o ProjectPushRulesArrayOutput) ToProjectPushRulesArrayOutputWithContext(ctx context.Context) ProjectPushRulesArrayOutput { + return o +} + +func (o ProjectPushRulesArrayOutput) Index(i pulumi.IntInput) ProjectPushRulesOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProjectPushRules { + return vs[0].([]*ProjectPushRules)[vs[1].(int)] + }).(ProjectPushRulesOutput) +} + +type ProjectPushRulesMapOutput struct{ *pulumi.OutputState } + +func (ProjectPushRulesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProjectPushRules)(nil)).Elem() +} + +func (o ProjectPushRulesMapOutput) ToProjectPushRulesMapOutput() ProjectPushRulesMapOutput { + return o +} + +func (o ProjectPushRulesMapOutput) ToProjectPushRulesMapOutputWithContext(ctx context.Context) ProjectPushRulesMapOutput { + return o +} + +func (o ProjectPushRulesMapOutput) MapIndex(k pulumi.StringInput) ProjectPushRulesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProjectPushRules { + return vs[0].(map[string]*ProjectPushRules)[vs[1].(string)] + }).(ProjectPushRulesOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushRulesInput)(nil)).Elem(), &ProjectPushRules{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushRulesArrayInput)(nil)).Elem(), ProjectPushRulesArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushRulesMapInput)(nil)).Elem(), ProjectPushRulesMap{}) + pulumi.RegisterOutputType(ProjectPushRulesOutput{}) + pulumi.RegisterOutputType(ProjectPushRulesArrayOutput{}) + pulumi.RegisterOutputType(ProjectPushRulesMapOutput{}) +} diff --git a/sdk/go/gitlab/projectRunnerEnablement.go b/sdk/go/gitlab/projectRunnerEnablement.go index a34260c7..fcc2fcf1 100644 --- a/sdk/go/gitlab/projectRunnerEnablement.go +++ b/sdk/go/gitlab/projectRunnerEnablement.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectShareGroup.go b/sdk/go/gitlab/projectShareGroup.go index f198fa37..fb9d2bc0 100644 --- a/sdk/go/gitlab/projectShareGroup.go +++ b/sdk/go/gitlab/projectShareGroup.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -54,11 +54,11 @@ import ( type ProjectShareGroup struct { pulumi.CustomResourceState - // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel pulumi.StringPtrOutput `pulumi:"accessLevel"` - // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringPtrOutput `pulumi:"groupAccess"` // The id of the group. GroupId pulumi.IntOutput `pulumi:"groupId"` @@ -102,11 +102,11 @@ func GetProjectShareGroup(ctx *pulumi.Context, // Input properties used for looking up and filtering ProjectShareGroup resources. type projectShareGroupState struct { - // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel *string `pulumi:"accessLevel"` - // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess *string `pulumi:"groupAccess"` // The id of the group. GroupId *int `pulumi:"groupId"` @@ -115,11 +115,11 @@ type projectShareGroupState struct { } type ProjectShareGroupState struct { - // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel pulumi.StringPtrInput - // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringPtrInput // The id of the group. GroupId pulumi.IntPtrInput @@ -132,11 +132,11 @@ func (ProjectShareGroupState) ElementType() reflect.Type { } type projectShareGroupArgs struct { - // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel *string `pulumi:"accessLevel"` - // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess *string `pulumi:"groupAccess"` // The id of the group. GroupId int `pulumi:"groupId"` @@ -146,11 +146,11 @@ type projectShareGroupArgs struct { // The set of arguments for constructing a ProjectShareGroup resource. type ProjectShareGroupArgs struct { - // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. AccessLevel pulumi.StringPtrInput - // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + // The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` GroupAccess pulumi.StringPtrInput // The id of the group. GroupId pulumi.IntInput @@ -245,14 +245,14 @@ func (o ProjectShareGroupOutput) ToProjectShareGroupOutputWithContext(ctx contex return o } -// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` +// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` // // Deprecated: Use `groupAccess` instead of the `accessLevel` attribute. func (o ProjectShareGroupOutput) AccessLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v *ProjectShareGroup) pulumi.StringPtrOutput { return v.AccessLevel }).(pulumi.StringPtrOutput) } -// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` +// The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` func (o ProjectShareGroupOutput) GroupAccess() pulumi.StringPtrOutput { return o.ApplyT(func(v *ProjectShareGroup) pulumi.StringPtrOutput { return v.GroupAccess }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/gitlab/projectTag.go b/sdk/go/gitlab/projectTag.go index 8466719b..4fddcd23 100644 --- a/sdk/go/gitlab/projectTag.go +++ b/sdk/go/gitlab/projectTag.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/projectVariable.go b/sdk/go/gitlab/projectVariable.go index 59fa8341..a72c0f26 100644 --- a/sdk/go/gitlab/projectVariable.go +++ b/sdk/go/gitlab/projectVariable.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/provider.go b/sdk/go/gitlab/provider.go index 11e3c0ca..e569b61b 100644 --- a/sdk/go/gitlab/provider.go +++ b/sdk/go/gitlab/provider.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/pulumi-plugin.json b/sdk/go/gitlab/pulumi-plugin.json index 44dbfcf0..52c4492e 100644 --- a/sdk/go/gitlab/pulumi-plugin.json +++ b/sdk/go/gitlab/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "gitlab", - "version": "7.0.0-alpha.0+dev" + "version": "8.0.0" } diff --git a/sdk/go/gitlab/pulumiTypes.go b/sdk/go/gitlab/pulumiTypes.go index bbc580eb..56f3a2f4 100644 --- a/sdk/go/gitlab/pulumiTypes.go +++ b/sdk/go/gitlab/pulumiTypes.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -1258,6 +1258,8 @@ type GroupPushRules struct { BranchNameRegex *string `pulumi:"branchNameRegex"` // Only commits pushed using verified emails are allowed. **Note** This attribute is only supported in GitLab versions >= 16.4. CommitCommitterCheck *bool `pulumi:"commitCommitterCheck"` + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck *bool `pulumi:"commitCommitterNameCheck"` // No commit message is allowed to match this regex, for example `ssh\:\/\/`. CommitMessageNegativeRegex *string `pulumi:"commitMessageNegativeRegex"` // All commit messages must match this regex, e.g. `Fixed \d+\..*`. @@ -1294,6 +1296,8 @@ type GroupPushRulesArgs struct { BranchNameRegex pulumi.StringPtrInput `pulumi:"branchNameRegex"` // Only commits pushed using verified emails are allowed. **Note** This attribute is only supported in GitLab versions >= 16.4. CommitCommitterCheck pulumi.BoolPtrInput `pulumi:"commitCommitterCheck"` + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck pulumi.BoolPtrInput `pulumi:"commitCommitterNameCheck"` // No commit message is allowed to match this regex, for example `ssh\:\/\/`. CommitMessageNegativeRegex pulumi.StringPtrInput `pulumi:"commitMessageNegativeRegex"` // All commit messages must match this regex, e.g. `Fixed \d+\..*`. @@ -1404,6 +1408,11 @@ func (o GroupPushRulesOutput) CommitCommitterCheck() pulumi.BoolPtrOutput { return o.ApplyT(func(v GroupPushRules) *bool { return v.CommitCommitterCheck }).(pulumi.BoolPtrOutput) } +// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. +func (o GroupPushRulesOutput) CommitCommitterNameCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GroupPushRules) *bool { return v.CommitCommitterNameCheck }).(pulumi.BoolPtrOutput) +} + // No commit message is allowed to match this regex, for example `ssh\:\/\/`. func (o GroupPushRulesOutput) CommitMessageNegativeRegex() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupPushRules) *string { return v.CommitMessageNegativeRegex }).(pulumi.StringPtrOutput) @@ -1498,6 +1507,16 @@ func (o GroupPushRulesPtrOutput) CommitCommitterCheck() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } +// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. +func (o GroupPushRulesPtrOutput) CommitCommitterNameCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GroupPushRules) *bool { + if v == nil { + return nil + } + return v.CommitCommitterNameCheck + }).(pulumi.BoolPtrOutput) +} + // No commit message is allowed to match this regex, for example `ssh\:\/\/`. func (o GroupPushRulesPtrOutput) CommitMessageNegativeRegex() pulumi.StringPtrOutput { return o.ApplyT(func(v *GroupPushRules) *string { @@ -2553,14 +2572,16 @@ func (o ProjectProtectedEnvironmentDeployAccessLevelArrayOutput) Index(i pulumi. }).(ProjectProtectedEnvironmentDeployAccessLevelOutput) } -type ProjectPushRules struct { +type ProjectPushRulesType struct { // All commit author emails must match this regex, e.g. `@my-company.com$`. AuthorEmailRegex *string `pulumi:"authorEmailRegex"` // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. BranchNameRegex *string `pulumi:"branchNameRegex"` // Users can only push commits to this repository that were committed with one of their own verified emails. CommitCommitterCheck *bool `pulumi:"commitCommitterCheck"` - // No commit message is allowed to match this regex, for example `ssh\:\/\/`. + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck *bool `pulumi:"commitCommitterNameCheck"` + // No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. CommitMessageNegativeRegex *string `pulumi:"commitMessageNegativeRegex"` // All commit messages must match this regex, e.g. `Fixed \d+\..*`. CommitMessageRegex *string `pulumi:"commitMessageRegex"` @@ -2578,25 +2599,27 @@ type ProjectPushRules struct { RejectUnsignedCommits *bool `pulumi:"rejectUnsignedCommits"` } -// ProjectPushRulesInput is an input type that accepts ProjectPushRulesArgs and ProjectPushRulesOutput values. -// You can construct a concrete instance of `ProjectPushRulesInput` via: +// ProjectPushRulesTypeInput is an input type that accepts ProjectPushRulesTypeArgs and ProjectPushRulesTypeOutput values. +// You can construct a concrete instance of `ProjectPushRulesTypeInput` via: // -// ProjectPushRulesArgs{...} -type ProjectPushRulesInput interface { +// ProjectPushRulesTypeArgs{...} +type ProjectPushRulesTypeInput interface { pulumi.Input - ToProjectPushRulesOutput() ProjectPushRulesOutput - ToProjectPushRulesOutputWithContext(context.Context) ProjectPushRulesOutput + ToProjectPushRulesTypeOutput() ProjectPushRulesTypeOutput + ToProjectPushRulesTypeOutputWithContext(context.Context) ProjectPushRulesTypeOutput } -type ProjectPushRulesArgs struct { +type ProjectPushRulesTypeArgs struct { // All commit author emails must match this regex, e.g. `@my-company.com$`. AuthorEmailRegex pulumi.StringPtrInput `pulumi:"authorEmailRegex"` // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. BranchNameRegex pulumi.StringPtrInput `pulumi:"branchNameRegex"` // Users can only push commits to this repository that were committed with one of their own verified emails. CommitCommitterCheck pulumi.BoolPtrInput `pulumi:"commitCommitterCheck"` - // No commit message is allowed to match this regex, for example `ssh\:\/\/`. + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck pulumi.BoolPtrInput `pulumi:"commitCommitterNameCheck"` + // No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. CommitMessageNegativeRegex pulumi.StringPtrInput `pulumi:"commitMessageNegativeRegex"` // All commit messages must match this regex, e.g. `Fixed \d+\..*`. CommitMessageRegex pulumi.StringPtrInput `pulumi:"commitMessageRegex"` @@ -2614,165 +2637,170 @@ type ProjectPushRulesArgs struct { RejectUnsignedCommits pulumi.BoolPtrInput `pulumi:"rejectUnsignedCommits"` } -func (ProjectPushRulesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ProjectPushRules)(nil)).Elem() +func (ProjectPushRulesTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectPushRulesType)(nil)).Elem() } -func (i ProjectPushRulesArgs) ToProjectPushRulesOutput() ProjectPushRulesOutput { - return i.ToProjectPushRulesOutputWithContext(context.Background()) +func (i ProjectPushRulesTypeArgs) ToProjectPushRulesTypeOutput() ProjectPushRulesTypeOutput { + return i.ToProjectPushRulesTypeOutputWithContext(context.Background()) } -func (i ProjectPushRulesArgs) ToProjectPushRulesOutputWithContext(ctx context.Context) ProjectPushRulesOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProjectPushRulesOutput) +func (i ProjectPushRulesTypeArgs) ToProjectPushRulesTypeOutputWithContext(ctx context.Context) ProjectPushRulesTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPushRulesTypeOutput) } -func (i ProjectPushRulesArgs) ToProjectPushRulesPtrOutput() ProjectPushRulesPtrOutput { - return i.ToProjectPushRulesPtrOutputWithContext(context.Background()) +func (i ProjectPushRulesTypeArgs) ToProjectPushRulesTypePtrOutput() ProjectPushRulesTypePtrOutput { + return i.ToProjectPushRulesTypePtrOutputWithContext(context.Background()) } -func (i ProjectPushRulesArgs) ToProjectPushRulesPtrOutputWithContext(ctx context.Context) ProjectPushRulesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProjectPushRulesOutput).ToProjectPushRulesPtrOutputWithContext(ctx) +func (i ProjectPushRulesTypeArgs) ToProjectPushRulesTypePtrOutputWithContext(ctx context.Context) ProjectPushRulesTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPushRulesTypeOutput).ToProjectPushRulesTypePtrOutputWithContext(ctx) } -// ProjectPushRulesPtrInput is an input type that accepts ProjectPushRulesArgs, ProjectPushRulesPtr and ProjectPushRulesPtrOutput values. -// You can construct a concrete instance of `ProjectPushRulesPtrInput` via: +// ProjectPushRulesTypePtrInput is an input type that accepts ProjectPushRulesTypeArgs, ProjectPushRulesTypePtr and ProjectPushRulesTypePtrOutput values. +// You can construct a concrete instance of `ProjectPushRulesTypePtrInput` via: // -// ProjectPushRulesArgs{...} +// ProjectPushRulesTypeArgs{...} // // or: // // nil -type ProjectPushRulesPtrInput interface { +type ProjectPushRulesTypePtrInput interface { pulumi.Input - ToProjectPushRulesPtrOutput() ProjectPushRulesPtrOutput - ToProjectPushRulesPtrOutputWithContext(context.Context) ProjectPushRulesPtrOutput + ToProjectPushRulesTypePtrOutput() ProjectPushRulesTypePtrOutput + ToProjectPushRulesTypePtrOutputWithContext(context.Context) ProjectPushRulesTypePtrOutput } -type projectPushRulesPtrType ProjectPushRulesArgs +type projectPushRulesTypePtrType ProjectPushRulesTypeArgs -func ProjectPushRulesPtr(v *ProjectPushRulesArgs) ProjectPushRulesPtrInput { - return (*projectPushRulesPtrType)(v) +func ProjectPushRulesTypePtr(v *ProjectPushRulesTypeArgs) ProjectPushRulesTypePtrInput { + return (*projectPushRulesTypePtrType)(v) } -func (*projectPushRulesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ProjectPushRules)(nil)).Elem() +func (*projectPushRulesTypePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPushRulesType)(nil)).Elem() } -func (i *projectPushRulesPtrType) ToProjectPushRulesPtrOutput() ProjectPushRulesPtrOutput { - return i.ToProjectPushRulesPtrOutputWithContext(context.Background()) +func (i *projectPushRulesTypePtrType) ToProjectPushRulesTypePtrOutput() ProjectPushRulesTypePtrOutput { + return i.ToProjectPushRulesTypePtrOutputWithContext(context.Background()) } -func (i *projectPushRulesPtrType) ToProjectPushRulesPtrOutputWithContext(ctx context.Context) ProjectPushRulesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProjectPushRulesPtrOutput) +func (i *projectPushRulesTypePtrType) ToProjectPushRulesTypePtrOutputWithContext(ctx context.Context) ProjectPushRulesTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectPushRulesTypePtrOutput) } -type ProjectPushRulesOutput struct{ *pulumi.OutputState } +type ProjectPushRulesTypeOutput struct{ *pulumi.OutputState } -func (ProjectPushRulesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ProjectPushRules)(nil)).Elem() +func (ProjectPushRulesTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectPushRulesType)(nil)).Elem() } -func (o ProjectPushRulesOutput) ToProjectPushRulesOutput() ProjectPushRulesOutput { +func (o ProjectPushRulesTypeOutput) ToProjectPushRulesTypeOutput() ProjectPushRulesTypeOutput { return o } -func (o ProjectPushRulesOutput) ToProjectPushRulesOutputWithContext(ctx context.Context) ProjectPushRulesOutput { +func (o ProjectPushRulesTypeOutput) ToProjectPushRulesTypeOutputWithContext(ctx context.Context) ProjectPushRulesTypeOutput { return o } -func (o ProjectPushRulesOutput) ToProjectPushRulesPtrOutput() ProjectPushRulesPtrOutput { - return o.ToProjectPushRulesPtrOutputWithContext(context.Background()) +func (o ProjectPushRulesTypeOutput) ToProjectPushRulesTypePtrOutput() ProjectPushRulesTypePtrOutput { + return o.ToProjectPushRulesTypePtrOutputWithContext(context.Background()) } -func (o ProjectPushRulesOutput) ToProjectPushRulesPtrOutputWithContext(ctx context.Context) ProjectPushRulesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ProjectPushRules) *ProjectPushRules { +func (o ProjectPushRulesTypeOutput) ToProjectPushRulesTypePtrOutputWithContext(ctx context.Context) ProjectPushRulesTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ProjectPushRulesType) *ProjectPushRulesType { return &v - }).(ProjectPushRulesPtrOutput) + }).(ProjectPushRulesTypePtrOutput) } // All commit author emails must match this regex, e.g. `@my-company.com$`. -func (o ProjectPushRulesOutput) AuthorEmailRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v ProjectPushRules) *string { return v.AuthorEmailRegex }).(pulumi.StringPtrOutput) +func (o ProjectPushRulesTypeOutput) AuthorEmailRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *string { return v.AuthorEmailRegex }).(pulumi.StringPtrOutput) } // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. -func (o ProjectPushRulesOutput) BranchNameRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v ProjectPushRules) *string { return v.BranchNameRegex }).(pulumi.StringPtrOutput) +func (o ProjectPushRulesTypeOutput) BranchNameRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *string { return v.BranchNameRegex }).(pulumi.StringPtrOutput) } // Users can only push commits to this repository that were committed with one of their own verified emails. -func (o ProjectPushRulesOutput) CommitCommitterCheck() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ProjectPushRules) *bool { return v.CommitCommitterCheck }).(pulumi.BoolPtrOutput) +func (o ProjectPushRulesTypeOutput) CommitCommitterCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *bool { return v.CommitCommitterCheck }).(pulumi.BoolPtrOutput) } -// No commit message is allowed to match this regex, for example `ssh\:\/\/`. -func (o ProjectPushRulesOutput) CommitMessageNegativeRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v ProjectPushRules) *string { return v.CommitMessageNegativeRegex }).(pulumi.StringPtrOutput) +// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. +func (o ProjectPushRulesTypeOutput) CommitCommitterNameCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *bool { return v.CommitCommitterNameCheck }).(pulumi.BoolPtrOutput) +} + +// No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. +func (o ProjectPushRulesTypeOutput) CommitMessageNegativeRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *string { return v.CommitMessageNegativeRegex }).(pulumi.StringPtrOutput) } // All commit messages must match this regex, e.g. `Fixed \d+\..*`. -func (o ProjectPushRulesOutput) CommitMessageRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v ProjectPushRules) *string { return v.CommitMessageRegex }).(pulumi.StringPtrOutput) +func (o ProjectPushRulesTypeOutput) CommitMessageRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *string { return v.CommitMessageRegex }).(pulumi.StringPtrOutput) } // Deny deleting a tag. -func (o ProjectPushRulesOutput) DenyDeleteTag() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ProjectPushRules) *bool { return v.DenyDeleteTag }).(pulumi.BoolPtrOutput) +func (o ProjectPushRulesTypeOutput) DenyDeleteTag() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *bool { return v.DenyDeleteTag }).(pulumi.BoolPtrOutput) } // All committed filenames must not match this regex, e.g. `(jar|exe)$`. -func (o ProjectPushRulesOutput) FileNameRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v ProjectPushRules) *string { return v.FileNameRegex }).(pulumi.StringPtrOutput) +func (o ProjectPushRulesTypeOutput) FileNameRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *string { return v.FileNameRegex }).(pulumi.StringPtrOutput) } // Maximum file size (MB). -func (o ProjectPushRulesOutput) MaxFileSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v ProjectPushRules) *int { return v.MaxFileSize }).(pulumi.IntPtrOutput) +func (o ProjectPushRulesTypeOutput) MaxFileSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *int { return v.MaxFileSize }).(pulumi.IntPtrOutput) } // Restrict commits by author (email) to existing GitLab users. -func (o ProjectPushRulesOutput) MemberCheck() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ProjectPushRules) *bool { return v.MemberCheck }).(pulumi.BoolPtrOutput) +func (o ProjectPushRulesTypeOutput) MemberCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *bool { return v.MemberCheck }).(pulumi.BoolPtrOutput) } // GitLab will reject any files that are likely to contain secrets. -func (o ProjectPushRulesOutput) PreventSecrets() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ProjectPushRules) *bool { return v.PreventSecrets }).(pulumi.BoolPtrOutput) +func (o ProjectPushRulesTypeOutput) PreventSecrets() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *bool { return v.PreventSecrets }).(pulumi.BoolPtrOutput) } // Reject commit when it’s not signed through GPG. -func (o ProjectPushRulesOutput) RejectUnsignedCommits() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ProjectPushRules) *bool { return v.RejectUnsignedCommits }).(pulumi.BoolPtrOutput) +func (o ProjectPushRulesTypeOutput) RejectUnsignedCommits() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ProjectPushRulesType) *bool { return v.RejectUnsignedCommits }).(pulumi.BoolPtrOutput) } -type ProjectPushRulesPtrOutput struct{ *pulumi.OutputState } +type ProjectPushRulesTypePtrOutput struct{ *pulumi.OutputState } -func (ProjectPushRulesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ProjectPushRules)(nil)).Elem() +func (ProjectPushRulesTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectPushRulesType)(nil)).Elem() } -func (o ProjectPushRulesPtrOutput) ToProjectPushRulesPtrOutput() ProjectPushRulesPtrOutput { +func (o ProjectPushRulesTypePtrOutput) ToProjectPushRulesTypePtrOutput() ProjectPushRulesTypePtrOutput { return o } -func (o ProjectPushRulesPtrOutput) ToProjectPushRulesPtrOutputWithContext(ctx context.Context) ProjectPushRulesPtrOutput { +func (o ProjectPushRulesTypePtrOutput) ToProjectPushRulesTypePtrOutputWithContext(ctx context.Context) ProjectPushRulesTypePtrOutput { return o } -func (o ProjectPushRulesPtrOutput) Elem() ProjectPushRulesOutput { - return o.ApplyT(func(v *ProjectPushRules) ProjectPushRules { +func (o ProjectPushRulesTypePtrOutput) Elem() ProjectPushRulesTypeOutput { + return o.ApplyT(func(v *ProjectPushRulesType) ProjectPushRulesType { if v != nil { return *v } - var ret ProjectPushRules + var ret ProjectPushRulesType return ret - }).(ProjectPushRulesOutput) + }).(ProjectPushRulesTypeOutput) } // All commit author emails must match this regex, e.g. `@my-company.com$`. -func (o ProjectPushRulesPtrOutput) AuthorEmailRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectPushRules) *string { +func (o ProjectPushRulesTypePtrOutput) AuthorEmailRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *string { if v == nil { return nil } @@ -2781,8 +2809,8 @@ func (o ProjectPushRulesPtrOutput) AuthorEmailRegex() pulumi.StringPtrOutput { } // All branch names must match this regex, e.g. `(feature|hotfix)\/*`. -func (o ProjectPushRulesPtrOutput) BranchNameRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectPushRules) *string { +func (o ProjectPushRulesTypePtrOutput) BranchNameRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *string { if v == nil { return nil } @@ -2791,8 +2819,8 @@ func (o ProjectPushRulesPtrOutput) BranchNameRegex() pulumi.StringPtrOutput { } // Users can only push commits to this repository that were committed with one of their own verified emails. -func (o ProjectPushRulesPtrOutput) CommitCommitterCheck() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ProjectPushRules) *bool { +func (o ProjectPushRulesTypePtrOutput) CommitCommitterCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *bool { if v == nil { return nil } @@ -2800,9 +2828,19 @@ func (o ProjectPushRulesPtrOutput) CommitCommitterCheck() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// No commit message is allowed to match this regex, for example `ssh\:\/\/`. -func (o ProjectPushRulesPtrOutput) CommitMessageNegativeRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectPushRules) *string { +// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. +func (o ProjectPushRulesTypePtrOutput) CommitCommitterNameCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *bool { + if v == nil { + return nil + } + return v.CommitCommitterNameCheck + }).(pulumi.BoolPtrOutput) +} + +// No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. +func (o ProjectPushRulesTypePtrOutput) CommitMessageNegativeRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *string { if v == nil { return nil } @@ -2811,8 +2849,8 @@ func (o ProjectPushRulesPtrOutput) CommitMessageNegativeRegex() pulumi.StringPtr } // All commit messages must match this regex, e.g. `Fixed \d+\..*`. -func (o ProjectPushRulesPtrOutput) CommitMessageRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectPushRules) *string { +func (o ProjectPushRulesTypePtrOutput) CommitMessageRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *string { if v == nil { return nil } @@ -2821,8 +2859,8 @@ func (o ProjectPushRulesPtrOutput) CommitMessageRegex() pulumi.StringPtrOutput { } // Deny deleting a tag. -func (o ProjectPushRulesPtrOutput) DenyDeleteTag() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ProjectPushRules) *bool { +func (o ProjectPushRulesTypePtrOutput) DenyDeleteTag() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *bool { if v == nil { return nil } @@ -2831,8 +2869,8 @@ func (o ProjectPushRulesPtrOutput) DenyDeleteTag() pulumi.BoolPtrOutput { } // All committed filenames must not match this regex, e.g. `(jar|exe)$`. -func (o ProjectPushRulesPtrOutput) FileNameRegex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ProjectPushRules) *string { +func (o ProjectPushRulesTypePtrOutput) FileNameRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *string { if v == nil { return nil } @@ -2841,8 +2879,8 @@ func (o ProjectPushRulesPtrOutput) FileNameRegex() pulumi.StringPtrOutput { } // Maximum file size (MB). -func (o ProjectPushRulesPtrOutput) MaxFileSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ProjectPushRules) *int { +func (o ProjectPushRulesTypePtrOutput) MaxFileSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *int { if v == nil { return nil } @@ -2851,8 +2889,8 @@ func (o ProjectPushRulesPtrOutput) MaxFileSize() pulumi.IntPtrOutput { } // Restrict commits by author (email) to existing GitLab users. -func (o ProjectPushRulesPtrOutput) MemberCheck() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ProjectPushRules) *bool { +func (o ProjectPushRulesTypePtrOutput) MemberCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *bool { if v == nil { return nil } @@ -2861,8 +2899,8 @@ func (o ProjectPushRulesPtrOutput) MemberCheck() pulumi.BoolPtrOutput { } // GitLab will reject any files that are likely to contain secrets. -func (o ProjectPushRulesPtrOutput) PreventSecrets() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ProjectPushRules) *bool { +func (o ProjectPushRulesTypePtrOutput) PreventSecrets() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *bool { if v == nil { return nil } @@ -2871,8 +2909,8 @@ func (o ProjectPushRulesPtrOutput) PreventSecrets() pulumi.BoolPtrOutput { } // Reject commit when it’s not signed through GPG. -func (o ProjectPushRulesPtrOutput) RejectUnsignedCommits() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ProjectPushRules) *bool { +func (o ProjectPushRulesTypePtrOutput) RejectUnsignedCommits() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProjectPushRulesType) *bool { if v == nil { return nil } @@ -4193,7 +4231,6 @@ type GetGroupSubgroupsSubgroup struct { CreatedAt string `pulumi:"createdAt"` DefaultBranchProtection int `pulumi:"defaultBranchProtection"` Description string `pulumi:"description"` - EmailsDisabled bool `pulumi:"emailsDisabled"` EmailsEnabled bool `pulumi:"emailsEnabled"` FileTemplateProjectId int `pulumi:"fileTemplateProjectId"` FullName string `pulumi:"fullName"` @@ -4235,7 +4272,6 @@ type GetGroupSubgroupsSubgroupArgs struct { CreatedAt pulumi.StringInput `pulumi:"createdAt"` DefaultBranchProtection pulumi.IntInput `pulumi:"defaultBranchProtection"` Description pulumi.StringInput `pulumi:"description"` - EmailsDisabled pulumi.BoolInput `pulumi:"emailsDisabled"` EmailsEnabled pulumi.BoolInput `pulumi:"emailsEnabled"` FileTemplateProjectId pulumi.IntInput `pulumi:"fileTemplateProjectId"` FullName pulumi.StringInput `pulumi:"fullName"` @@ -4331,10 +4367,6 @@ func (o GetGroupSubgroupsSubgroupOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) string { return v.Description }).(pulumi.StringOutput) } -func (o GetGroupSubgroupsSubgroupOutput) EmailsDisabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetGroupSubgroupsSubgroup) bool { return v.EmailsDisabled }).(pulumi.BoolOutput) -} - func (o GetGroupSubgroupsSubgroupOutput) EmailsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v GetGroupSubgroupsSubgroup) bool { return v.EmailsEnabled }).(pulumi.BoolOutput) } @@ -5140,6 +5172,8 @@ func (o GetInstanceDeployKeysDeployKeyProjectsWithWriteAccessArrayOutput) Index( } type GetInstanceVariablesVariable struct { + // The description of the variable. Maximum of 255 characters. + Description string `pulumi:"description"` // The name of the variable. Key string `pulumi:"key"` // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. @@ -5166,6 +5200,8 @@ type GetInstanceVariablesVariableInput interface { } type GetInstanceVariablesVariableArgs struct { + // The description of the variable. Maximum of 255 characters. + Description pulumi.StringInput `pulumi:"description"` // The name of the variable. Key pulumi.StringInput `pulumi:"key"` // If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. @@ -5231,6 +5267,11 @@ func (o GetInstanceVariablesVariableOutput) ToGetInstanceVariablesVariableOutput return o } +// The description of the variable. Maximum of 255 characters. +func (o GetInstanceVariablesVariableOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceVariablesVariable) string { return v.Description }).(pulumi.StringOutput) +} + // The name of the variable. func (o GetInstanceVariablesVariableOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceVariablesVariable) string { return v.Key }).(pulumi.StringOutput) @@ -7812,6 +7853,8 @@ type GetProjectPushRule struct { BranchNameRegex string `pulumi:"branchNameRegex"` // Users can only push commits to this repository that were committed with one of their own verified emails. CommitCommitterCheck bool `pulumi:"commitCommitterCheck"` + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck bool `pulumi:"commitCommitterNameCheck"` // No commit message is allowed to match this regex, for example `ssh\:\/\/`. CommitMessageNegativeRegex string `pulumi:"commitMessageNegativeRegex"` // All commit messages must match this regex, e.g. `Fixed \d+\..*`. @@ -7848,6 +7891,8 @@ type GetProjectPushRuleArgs struct { BranchNameRegex pulumi.StringInput `pulumi:"branchNameRegex"` // Users can only push commits to this repository that were committed with one of their own verified emails. CommitCommitterCheck pulumi.BoolInput `pulumi:"commitCommitterCheck"` + // Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + CommitCommitterNameCheck pulumi.BoolInput `pulumi:"commitCommitterNameCheck"` // No commit message is allowed to match this regex, for example `ssh\:\/\/`. CommitMessageNegativeRegex pulumi.StringInput `pulumi:"commitMessageNegativeRegex"` // All commit messages must match this regex, e.g. `Fixed \d+\..*`. @@ -7932,6 +7977,11 @@ func (o GetProjectPushRuleOutput) CommitCommitterCheck() pulumi.BoolOutput { return o.ApplyT(func(v GetProjectPushRule) bool { return v.CommitCommitterCheck }).(pulumi.BoolOutput) } +// Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. +func (o GetProjectPushRuleOutput) CommitCommitterNameCheck() pulumi.BoolOutput { + return o.ApplyT(func(v GetProjectPushRule) bool { return v.CommitCommitterNameCheck }).(pulumi.BoolOutput) +} + // No commit message is allowed to match this regex, for example `ssh\:\/\/`. func (o GetProjectPushRuleOutput) CommitMessageNegativeRegex() pulumi.StringOutput { return o.ApplyT(func(v GetProjectPushRule) string { return v.CommitMessageNegativeRegex }).(pulumi.StringOutput) @@ -9066,10 +9116,6 @@ type GetProjectsProject struct { DefaultBranch string `pulumi:"defaultBranch"` // The description of the project. Description string `pulumi:"description"` - // Disable email notifications. - // - // Deprecated: Use of `emailsDisabled` is deprecated. Use `emailsEnabled` instead. - EmailsDisabled bool `pulumi:"emailsDisabled"` // Enable email notifications. EmailsEnabled bool `pulumi:"emailsEnabled"` // Whether the project is empty. @@ -9157,8 +9203,6 @@ type GetProjectsProject struct { PathWithNamespace string `pulumi:"pathWithNamespace"` // Permissions for the project. Permissions []GetProjectsProjectPermission `pulumi:"permissions"` - // Whether the project is public. - Public bool `pulumi:"public"` // Whether public builds are enabled for the project. PublicBuilds bool `pulumi:"publicBuilds"` // The remote url of the project. @@ -9277,10 +9321,6 @@ type GetProjectsProjectArgs struct { DefaultBranch pulumi.StringInput `pulumi:"defaultBranch"` // The description of the project. Description pulumi.StringInput `pulumi:"description"` - // Disable email notifications. - // - // Deprecated: Use of `emailsDisabled` is deprecated. Use `emailsEnabled` instead. - EmailsDisabled pulumi.BoolInput `pulumi:"emailsDisabled"` // Enable email notifications. EmailsEnabled pulumi.BoolInput `pulumi:"emailsEnabled"` // Whether the project is empty. @@ -9368,8 +9408,6 @@ type GetProjectsProjectArgs struct { PathWithNamespace pulumi.StringInput `pulumi:"pathWithNamespace"` // Permissions for the project. Permissions GetProjectsProjectPermissionArrayInput `pulumi:"permissions"` - // Whether the project is public. - Public pulumi.BoolInput `pulumi:"public"` // Whether public builds are enabled for the project. PublicBuilds pulumi.BoolInput `pulumi:"publicBuilds"` // The remote url of the project. @@ -9607,13 +9645,6 @@ func (o GetProjectsProjectOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v GetProjectsProject) string { return v.Description }).(pulumi.StringOutput) } -// Disable email notifications. -// -// Deprecated: Use of `emailsDisabled` is deprecated. Use `emailsEnabled` instead. -func (o GetProjectsProjectOutput) EmailsDisabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.EmailsDisabled }).(pulumi.BoolOutput) -} - // Enable email notifications. func (o GetProjectsProjectOutput) EmailsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v GetProjectsProject) bool { return v.EmailsEnabled }).(pulumi.BoolOutput) @@ -9833,11 +9864,6 @@ func (o GetProjectsProjectOutput) Permissions() GetProjectsProjectPermissionArra return o.ApplyT(func(v GetProjectsProject) []GetProjectsProjectPermission { return v.Permissions }).(GetProjectsProjectPermissionArrayOutput) } -// Whether the project is public. -func (o GetProjectsProjectOutput) Public() pulumi.BoolOutput { - return o.ApplyT(func(v GetProjectsProject) bool { return v.Public }).(pulumi.BoolOutput) -} - // Whether public builds are enabled for the project. func (o GetProjectsProjectOutput) PublicBuilds() pulumi.BoolOutput { return o.ApplyT(func(v GetProjectsProject) bool { return v.PublicBuilds }).(pulumi.BoolOutput) @@ -12023,8 +12049,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ProjectProtectedEnvironmentApprovalRuleArrayInput)(nil)).Elem(), ProjectProtectedEnvironmentApprovalRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectProtectedEnvironmentDeployAccessLevelInput)(nil)).Elem(), ProjectProtectedEnvironmentDeployAccessLevelArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectProtectedEnvironmentDeployAccessLevelArrayInput)(nil)).Elem(), ProjectProtectedEnvironmentDeployAccessLevelArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushRulesInput)(nil)).Elem(), ProjectPushRulesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushRulesPtrInput)(nil)).Elem(), ProjectPushRulesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushRulesTypeInput)(nil)).Elem(), ProjectPushRulesTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectPushRulesTypePtrInput)(nil)).Elem(), ProjectPushRulesTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectTagCommitInput)(nil)).Elem(), ProjectTagCommitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectTagCommitArrayInput)(nil)).Elem(), ProjectTagCommitArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectTagReleaseInput)(nil)).Elem(), ProjectTagReleaseArgs{}) @@ -12158,8 +12184,8 @@ func init() { pulumi.RegisterOutputType(ProjectProtectedEnvironmentApprovalRuleArrayOutput{}) pulumi.RegisterOutputType(ProjectProtectedEnvironmentDeployAccessLevelOutput{}) pulumi.RegisterOutputType(ProjectProtectedEnvironmentDeployAccessLevelArrayOutput{}) - pulumi.RegisterOutputType(ProjectPushRulesOutput{}) - pulumi.RegisterOutputType(ProjectPushRulesPtrOutput{}) + pulumi.RegisterOutputType(ProjectPushRulesTypeOutput{}) + pulumi.RegisterOutputType(ProjectPushRulesTypePtrOutput{}) pulumi.RegisterOutputType(ProjectTagCommitOutput{}) pulumi.RegisterOutputType(ProjectTagCommitArrayOutput{}) pulumi.RegisterOutputType(ProjectTagReleaseOutput{}) diff --git a/sdk/go/gitlab/releaseLink.go b/sdk/go/gitlab/releaseLink.go index 82639d3d..51b30f79 100644 --- a/sdk/go/gitlab/releaseLink.go +++ b/sdk/go/gitlab/releaseLink.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/repositoryFile.go b/sdk/go/gitlab/repositoryFile.go index 64950174..cab2ad9a 100644 --- a/sdk/go/gitlab/repositoryFile.go +++ b/sdk/go/gitlab/repositoryFile.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -19,7 +19,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi-std/sdk/go/std" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // diff --git a/sdk/go/gitlab/runner.go b/sdk/go/gitlab/runner.go index fc8fafc1..7775e50f 100644 --- a/sdk/go/gitlab/runner.go +++ b/sdk/go/gitlab/runner.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/serviceCustomIssueTracker.go b/sdk/go/gitlab/serviceCustomIssueTracker.go index d07478bf..d73e9db0 100644 --- a/sdk/go/gitlab/serviceCustomIssueTracker.go +++ b/sdk/go/gitlab/serviceCustomIssueTracker.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/serviceEmailsOnPush.go b/sdk/go/gitlab/serviceEmailsOnPush.go index 87ead212..3d829ef8 100644 --- a/sdk/go/gitlab/serviceEmailsOnPush.go +++ b/sdk/go/gitlab/serviceEmailsOnPush.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/serviceExternalWiki.go b/sdk/go/gitlab/serviceExternalWiki.go index 32fc0de5..1d0c893f 100644 --- a/sdk/go/gitlab/serviceExternalWiki.go +++ b/sdk/go/gitlab/serviceExternalWiki.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/serviceGithub.go b/sdk/go/gitlab/serviceGithub.go index 1bd7b631..83bcff5f 100644 --- a/sdk/go/gitlab/serviceGithub.go +++ b/sdk/go/gitlab/serviceGithub.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -27,7 +27,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/serviceJira.go b/sdk/go/gitlab/serviceJira.go index 593193e6..c6eda070 100644 --- a/sdk/go/gitlab/serviceJira.go +++ b/sdk/go/gitlab/serviceJira.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/serviceMicrosoftTeams.go b/sdk/go/gitlab/serviceMicrosoftTeams.go index 0953be76..f5d2f6ab 100644 --- a/sdk/go/gitlab/serviceMicrosoftTeams.go +++ b/sdk/go/gitlab/serviceMicrosoftTeams.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/servicePipelinesEmail.go b/sdk/go/gitlab/servicePipelinesEmail.go index 8c8c18e3..7170c01c 100644 --- a/sdk/go/gitlab/servicePipelinesEmail.go +++ b/sdk/go/gitlab/servicePipelinesEmail.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/serviceSlack.go b/sdk/go/gitlab/serviceSlack.go index b4440876..a2cfba80 100644 --- a/sdk/go/gitlab/serviceSlack.go +++ b/sdk/go/gitlab/serviceSlack.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/systemHook.go b/sdk/go/gitlab/systemHook.go index 043d7641..7cdf69ca 100644 --- a/sdk/go/gitlab/systemHook.go +++ b/sdk/go/gitlab/systemHook.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/tagProtection.go b/sdk/go/gitlab/tagProtection.go index 59d3dfbc..c5b50eb3 100644 --- a/sdk/go/gitlab/tagProtection.go +++ b/sdk/go/gitlab/tagProtection.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -19,7 +19,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/topic.go b/sdk/go/gitlab/topic.go index 3a75994b..5a06006a 100644 --- a/sdk/go/gitlab/topic.go +++ b/sdk/go/gitlab/topic.go @@ -7,7 +7,7 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/gitlab/user.go b/sdk/go/gitlab/user.go index 5f018626..98459831 100644 --- a/sdk/go/gitlab/user.go +++ b/sdk/go/gitlab/user.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -27,7 +27,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/userCustomAttribute.go b/sdk/go/gitlab/userCustomAttribute.go index 5e1d4a14..7f068d1b 100644 --- a/sdk/go/gitlab/userCustomAttribute.go +++ b/sdk/go/gitlab/userCustomAttribute.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/userGpgKey.go b/sdk/go/gitlab/userGpgKey.go index f0a052c2..50591299 100644 --- a/sdk/go/gitlab/userGpgKey.go +++ b/sdk/go/gitlab/userGpgKey.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -25,7 +25,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/go/gitlab/userRunner.go b/sdk/go/gitlab/userRunner.go index b81de139..790a4bab 100644 --- a/sdk/go/gitlab/userRunner.go +++ b/sdk/go/gitlab/userRunner.go @@ -8,13 +8,108 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // The `UserRunner` resource allows creating a GitLab runner using the new [GitLab Runner Registration Flow](https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html). // // **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html#create-a-runner) +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a project runner +// _, err := gitlab.NewUserRunner(ctx, "project_runner", &gitlab.UserRunnerArgs{ +// RunnerType: pulumi.String("project_type"), +// ProjectId: pulumi.Int(123456), +// Description: pulumi.String("A runner created using a user access token instead of a registration token"), +// TagLists: pulumi.StringArray{ +// pulumi.String("a-tag"), +// pulumi.String("other-tag"), +// }, +// Untagged: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// // Create a group runner +// groupRunner, err := gitlab.NewUserRunner(ctx, "group_runner", &gitlab.UserRunnerArgs{ +// RunnerType: pulumi.String("group_type"), +// GroupId: pulumi.Int(123456), +// }) +// if err != nil { +// return err +// } +// // Create a instance runner +// _, err = gitlab.NewUserRunner(ctx, "instance_runner", &gitlab.UserRunnerArgs{ +// RunnerType: pulumi.String("instance_type"), +// }) +// if err != nil { +// return err +// } +// _ = groupRunner.Token.ApplyT(func(token string) (string, error) { +// return fmt.Sprintf(`concurrent = 1 +// +// check_interval = 0 +// +// [session_server] +// +// session_timeout = 1800 +// +// [[runners]] +// +// name = "my_gitlab_runner" +// url = "https://example.gitlab.com" +// token = "%v" +// executor = "docker" +// +// [runners.custom_build_dir] +// [runners.cache] +// [runners.cache.s3] +// [runners.cache.gcs] +// [runners.cache.azure] +// [runners.docker] +// tls_verify = false +// image = "ubuntu" +// privileged = true +// disable_entrypoint_overwrite = false +// oom_kill_disable = false +// disable_cache = false +// volumes = ["/cache", "/certs/client"] +// shm_size = 0 +// +// `, token), nil +// +// }).(pulumi.StringOutput) +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// # You can import a gitlab runner using its ID +// +// Note: Importing a runner will not provide access to the `token` attribute +// +// ```sh +// $ pulumi import gitlab:index/userRunner:UserRunner example 12345 +// ``` type UserRunner struct { pulumi.CustomResourceState diff --git a/sdk/go/gitlab/userSshKey.go b/sdk/go/gitlab/userSshKey.go index af6a05f2..d0a941d6 100644 --- a/sdk/go/gitlab/userSshKey.go +++ b/sdk/go/gitlab/userSshKey.go @@ -8,7 +8,7 @@ import ( "reflect" "errors" - "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab/internal" + "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,7 +23,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-gitlab/sdk/v7/go/gitlab" +// "github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ApplicationSettings.java b/sdk/java/src/main/java/com/pulumi/gitlab/ApplicationSettings.java index ef9f3d3f..09850cde 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ApplicationSettings.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ApplicationSettings.java @@ -1958,6 +1958,20 @@ public Output maxSshKeyLifetime() { public Output metricsMethodCallThreshold() { return this.metricsMethodCallThreshold; } + /** + * Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + * + */ + @Export(name="minimumPasswordLength", refs={Integer.class}, tree="[0]") + private Output minimumPasswordLength; + + /** + * @return Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + * + */ + public Output minimumPasswordLength() { + return this.minimumPasswordLength; + } /** * Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ApplicationSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/ApplicationSettingsArgs.java index 996da699..b27c9f68 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ApplicationSettingsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ApplicationSettingsArgs.java @@ -2103,6 +2103,21 @@ public Optional> metricsMethodCallThreshold() { return Optional.ofNullable(this.metricsMethodCallThreshold); } + /** + * Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + * + */ + @Import(name="minimumPasswordLength") + private @Nullable Output minimumPasswordLength; + + /** + * @return Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + * + */ + public Optional> minimumPasswordLength() { + return Optional.ofNullable(this.minimumPasswordLength); + } + /** * Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. * @@ -3803,6 +3818,7 @@ private ApplicationSettingsArgs(ApplicationSettingsArgs $) { this.maxPersonalAccessTokenLifetime = $.maxPersonalAccessTokenLifetime; this.maxSshKeyLifetime = $.maxSshKeyLifetime; this.metricsMethodCallThreshold = $.metricsMethodCallThreshold; + this.minimumPasswordLength = $.minimumPasswordLength; this.mirrorAvailable = $.mirrorAvailable; this.mirrorCapacityThreshold = $.mirrorCapacityThreshold; this.mirrorMaxCapacity = $.mirrorMaxCapacity; @@ -6922,6 +6938,27 @@ public Builder metricsMethodCallThreshold(Integer metricsMethodCallThreshold) { return metricsMethodCallThreshold(Output.of(metricsMethodCallThreshold)); } + /** + * @param minimumPasswordLength Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + * + * @return builder + * + */ + public Builder minimumPasswordLength(@Nullable Output minimumPasswordLength) { + $.minimumPasswordLength = minimumPasswordLength; + return this; + } + + /** + * @param minimumPasswordLength Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + * + * @return builder + * + */ + public Builder minimumPasswordLength(Integer minimumPasswordLength) { + return minimumPasswordLength(Output.of(minimumPasswordLength)); + } + /** * @param mirrorAvailable Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/Group.java b/sdk/java/src/main/java/com/pulumi/gitlab/Group.java index 03175ee2..e82f296c 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/Group.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/Group.java @@ -186,24 +186,6 @@ public Output defaultBranchProtection() { public Output> description() { return Codegen.optional(this.description); } - /** - * Disable email notifications. - * - * @deprecated - * use `emails_enabled` instead - * - */ - @Deprecated /* use `emails_enabled` instead */ - @Export(name="emailsDisabled", refs={Boolean.class}, tree="[0]") - private Output emailsDisabled; - - /** - * @return Disable email notifications. - * - */ - public Output emailsDisabled() { - return this.emailsDisabled; - } /** * Enable email notifications. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/GroupAccessToken.java b/sdk/java/src/main/java/com/pulumi/gitlab/GroupAccessToken.java index 7fec75f0..3c5079fc 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/GroupAccessToken.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/GroupAccessToken.java @@ -90,14 +90,14 @@ @ResourceType(type="gitlab:index/groupAccessToken:GroupAccessToken") public class GroupAccessToken extends com.pulumi.resources.CustomResource { /** - * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ @Export(name="accessLevel", refs={String.class}, tree="[0]") private Output accessLevel; /** - * @return The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @return The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ public Output accessLevel() { diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/GroupAccessTokenArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/GroupAccessTokenArgs.java index a3ed29a1..606f2d95 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/GroupAccessTokenArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/GroupAccessTokenArgs.java @@ -19,14 +19,14 @@ public final class GroupAccessTokenArgs extends com.pulumi.resources.ResourceArg public static final GroupAccessTokenArgs Empty = new GroupAccessTokenArgs(); /** - * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ @Import(name="accessLevel") private @Nullable Output accessLevel; /** - * @return The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @return The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ public Optional> accessLevel() { @@ -138,7 +138,7 @@ public Builder(GroupAccessTokenArgs defaults) { } /** - * @param accessLevel The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @param accessLevel The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * * @return builder * @@ -149,7 +149,7 @@ public Builder accessLevel(@Nullable Output accessLevel) { } /** - * @param accessLevel The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @param accessLevel The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/GroupArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/GroupArgs.java index 5c810a64..ffc2b562 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/GroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/GroupArgs.java @@ -95,29 +95,6 @@ public Optional> description() { return Optional.ofNullable(this.description); } - /** - * Disable email notifications. - * - * @deprecated - * use `emails_enabled` instead - * - */ - @Deprecated /* use `emails_enabled` instead */ - @Import(name="emailsDisabled") - private @Nullable Output emailsDisabled; - - /** - * @return Disable email notifications. - * - * @deprecated - * use `emails_enabled` instead - * - */ - @Deprecated /* use `emails_enabled` instead */ - public Optional> emailsDisabled() { - return Optional.ofNullable(this.emailsDisabled); - } - /** * Enable email notifications. * @@ -441,7 +418,6 @@ private GroupArgs(GroupArgs $) { this.avatarHash = $.avatarHash; this.defaultBranchProtection = $.defaultBranchProtection; this.description = $.description; - this.emailsDisabled = $.emailsDisabled; this.emailsEnabled = $.emailsEnabled; this.extraSharedRunnersMinutesLimit = $.extraSharedRunnersMinutesLimit; this.ipRestrictionRanges = $.ipRestrictionRanges; @@ -588,35 +564,6 @@ public Builder description(String description) { return description(Output.of(description)); } - /** - * @param emailsDisabled Disable email notifications. - * - * @return builder - * - * @deprecated - * use `emails_enabled` instead - * - */ - @Deprecated /* use `emails_enabled` instead */ - public Builder emailsDisabled(@Nullable Output emailsDisabled) { - $.emailsDisabled = emailsDisabled; - return this; - } - - /** - * @param emailsDisabled Disable email notifications. - * - * @return builder - * - * @deprecated - * use `emails_enabled` instead - * - */ - @Deprecated /* use `emails_enabled` instead */ - public Builder emailsDisabled(Boolean emailsDisabled) { - return emailsDisabled(Output.of(emailsDisabled)); - } - /** * @param emailsEnabled Enable email notifications. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/GroupLdapLink.java b/sdk/java/src/main/java/com/pulumi/gitlab/GroupLdapLink.java index 637ed031..2223417d 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/GroupLdapLink.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/GroupLdapLink.java @@ -45,7 +45,7 @@ @ResourceType(type="gitlab:index/groupLdapLink:GroupLdapLink") public class GroupLdapLink extends com.pulumi.resources.CustomResource { /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated * Use `group_access` instead of the `access_level` attribute. @@ -56,7 +56,7 @@ public class GroupLdapLink extends com.pulumi.resources.CustomResource { private Output accessLevel; /** - * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Output> accessLevel() { @@ -119,14 +119,14 @@ public Output group() { return this.group; } /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Export(name="groupAccess", refs={String.class}, tree="[0]") private Output groupAccess; /** - * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Output> groupAccess() { diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/GroupLdapLinkArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/GroupLdapLinkArgs.java index 0d9809d3..4b7f694d 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/GroupLdapLinkArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/GroupLdapLinkArgs.java @@ -18,7 +18,7 @@ public final class GroupLdapLinkArgs extends com.pulumi.resources.ResourceArgs { public static final GroupLdapLinkArgs Empty = new GroupLdapLinkArgs(); /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated * Use `group_access` instead of the `access_level` attribute. @@ -29,7 +29,7 @@ public final class GroupLdapLinkArgs extends com.pulumi.resources.ResourceArgs { private @Nullable Output accessLevel; /** - * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated * Use `group_access` instead of the `access_level` attribute. @@ -101,14 +101,14 @@ public Output group() { } /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Import(name="groupAccess") private @Nullable Output groupAccess; /** - * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Optional> groupAccess() { @@ -161,7 +161,7 @@ public Builder(GroupLdapLinkArgs defaults) { } /** - * @param accessLevel Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -176,7 +176,7 @@ public Builder accessLevel(@Nullable Output accessLevel) { } /** - * @param accessLevel Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -274,7 +274,7 @@ public Builder group(String group) { } /** - * @param groupAccess Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -285,7 +285,7 @@ public Builder groupAccess(@Nullable Output groupAccess) { } /** - * @param groupAccess Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/GroupMembership.java b/sdk/java/src/main/java/com/pulumi/gitlab/GroupMembership.java index 7d27a689..883f303f 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/GroupMembership.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/GroupMembership.java @@ -73,14 +73,14 @@ @ResourceType(type="gitlab:index/groupMembership:GroupMembership") public class GroupMembership extends com.pulumi.resources.CustomResource { /** - * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. * */ @Export(name="accessLevel", refs={String.class}, tree="[0]") private Output accessLevel; /** - * @return Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * @return Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. * */ public Output accessLevel() { diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/GroupMembershipArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/GroupMembershipArgs.java index 58edb636..f8c26a15 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/GroupMembershipArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/GroupMembershipArgs.java @@ -19,14 +19,14 @@ public final class GroupMembershipArgs extends com.pulumi.resources.ResourceArgs public static final GroupMembershipArgs Empty = new GroupMembershipArgs(); /** - * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. * */ @Import(name="accessLevel", required=true) private Output accessLevel; /** - * @return Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * @return Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. * */ public Output accessLevel() { @@ -154,7 +154,7 @@ public Builder(GroupMembershipArgs defaults) { } /** - * @param accessLevel Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * @param accessLevel Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. * * @return builder * @@ -165,7 +165,7 @@ public Builder accessLevel(Output accessLevel) { } /** - * @param accessLevel Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * @param accessLevel Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/GroupProtectedEnvironment.java b/sdk/java/src/main/java/com/pulumi/gitlab/GroupProtectedEnvironment.java index 7172158e..0b051cba 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/GroupProtectedEnvironment.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/GroupProtectedEnvironment.java @@ -12,7 +12,6 @@ import com.pulumi.gitlab.inputs.GroupProtectedEnvironmentState; import com.pulumi.gitlab.outputs.GroupProtectedEnvironmentApprovalRule; import com.pulumi.gitlab.outputs.GroupProtectedEnvironmentDeployAccessLevel; -import java.lang.Integer; import java.lang.String; import java.util.List; import javax.annotation.Nullable; @@ -94,20 +93,6 @@ public Output environment() { public Output group() { return this.group; } - /** - * The number of approvals required to deploy to this environment. - * - */ - @Export(name="requiredApprovalCount", refs={Integer.class}, tree="[0]") - private Output requiredApprovalCount; - - /** - * @return The number of approvals required to deploy to this environment. - * - */ - public Output requiredApprovalCount() { - return this.requiredApprovalCount; - } /** * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/GroupProtectedEnvironmentArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/GroupProtectedEnvironmentArgs.java index ef63fe8f..2c49f8db 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/GroupProtectedEnvironmentArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/GroupProtectedEnvironmentArgs.java @@ -8,7 +8,6 @@ import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.gitlab.inputs.GroupProtectedEnvironmentApprovalRuleArgs; import com.pulumi.gitlab.inputs.GroupProtectedEnvironmentDeployAccessLevelArgs; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -80,21 +79,6 @@ public Output group() { return this.group; } - /** - * The number of approvals required to deploy to this environment. - * - */ - @Import(name="requiredApprovalCount") - private @Nullable Output requiredApprovalCount; - - /** - * @return The number of approvals required to deploy to this environment. - * - */ - public Optional> requiredApprovalCount() { - return Optional.ofNullable(this.requiredApprovalCount); - } - private GroupProtectedEnvironmentArgs() {} private GroupProtectedEnvironmentArgs(GroupProtectedEnvironmentArgs $) { @@ -102,7 +86,6 @@ private GroupProtectedEnvironmentArgs(GroupProtectedEnvironmentArgs $) { this.deployAccessLevels = $.deployAccessLevels; this.environment = $.environment; this.group = $.group; - this.requiredApprovalCount = $.requiredApprovalCount; } public static Builder builder() { @@ -227,27 +210,6 @@ public Builder group(String group) { return group(Output.of(group)); } - /** - * @param requiredApprovalCount The number of approvals required to deploy to this environment. - * - * @return builder - * - */ - public Builder requiredApprovalCount(@Nullable Output requiredApprovalCount) { - $.requiredApprovalCount = requiredApprovalCount; - return this; - } - - /** - * @param requiredApprovalCount The number of approvals required to deploy to this environment. - * - * @return builder - * - */ - public Builder requiredApprovalCount(Integer requiredApprovalCount) { - return requiredApprovalCount(Output.of(requiredApprovalCount)); - } - public GroupProtectedEnvironmentArgs build() { if ($.deployAccessLevels == null) { throw new MissingRequiredPropertyException("GroupProtectedEnvironmentArgs", "deployAccessLevels"); diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/GroupShareGroup.java b/sdk/java/src/main/java/com/pulumi/gitlab/GroupShareGroup.java index 471707f1..c565e378 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/GroupShareGroup.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/GroupShareGroup.java @@ -84,14 +84,14 @@ public Output> expiresAt() { return Codegen.optional(this.expiresAt); } /** - * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Export(name="groupAccess", refs={String.class}, tree="[0]") private Output groupAccess; /** - * @return The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Output groupAccess() { diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/GroupShareGroupArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/GroupShareGroupArgs.java index faa9d682..6a83b6f9 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/GroupShareGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/GroupShareGroupArgs.java @@ -33,14 +33,14 @@ public Optional> expiresAt() { } /** - * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Import(name="groupAccess", required=true) private Output groupAccess; /** - * @return The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Output groupAccess() { @@ -126,7 +126,7 @@ public Builder expiresAt(String expiresAt) { } /** - * @param groupAccess The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -137,7 +137,7 @@ public Builder groupAccess(Output groupAccess) { } /** - * @param groupAccess The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/InstanceVariable.java b/sdk/java/src/main/java/com/pulumi/gitlab/InstanceVariable.java index ba6e3d5f..cb1ba07a 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/InstanceVariable.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/InstanceVariable.java @@ -69,6 +69,20 @@ */ @ResourceType(type="gitlab:index/instanceVariable:InstanceVariable") public class InstanceVariable extends com.pulumi.resources.CustomResource { + /** + * The description of the variable. Maximum of 255 characters. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return The description of the variable. Maximum of 255 characters. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } /** * The name of the variable. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/InstanceVariableArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/InstanceVariableArgs.java index 94e8a0de..68756084 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/InstanceVariableArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/InstanceVariableArgs.java @@ -17,6 +17,21 @@ public final class InstanceVariableArgs extends com.pulumi.resources.ResourceArg public static final InstanceVariableArgs Empty = new InstanceVariableArgs(); + /** + * The description of the variable. Maximum of 255 characters. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The description of the variable. Maximum of 255 characters. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + /** * The name of the variable. * @@ -110,6 +125,7 @@ public Optional> variableType() { private InstanceVariableArgs() {} private InstanceVariableArgs(InstanceVariableArgs $) { + this.description = $.description; this.key = $.key; this.masked = $.masked; this.protected_ = $.protected_; @@ -136,6 +152,27 @@ public Builder(InstanceVariableArgs defaults) { $ = new InstanceVariableArgs(Objects.requireNonNull(defaults)); } + /** + * @param description The description of the variable. Maximum of 255 characters. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The description of the variable. Maximum of 255 characters. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + /** * @param key The name of the variable. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/IntegrationJenkins.java b/sdk/java/src/main/java/com/pulumi/gitlab/IntegrationJenkins.java new file mode 100644 index 00000000..4345877e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/gitlab/IntegrationJenkins.java @@ -0,0 +1,274 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.gitlab; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.gitlab.IntegrationJenkinsArgs; +import com.pulumi.gitlab.Utilities; +import com.pulumi.gitlab.inputs.IntegrationJenkinsState; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * The `gitlab.IntegrationJenkins` resource allows to manage the lifecycle of a project integration with Jenkins. + * + * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#jenkins) + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.gitlab.Project;
+ * import com.pulumi.gitlab.ProjectArgs;
+ * import com.pulumi.gitlab.IntegrationJenkins;
+ * import com.pulumi.gitlab.IntegrationJenkinsArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var awesomeProject = new Project("awesomeProject", ProjectArgs.builder()
+ *             .name("awesome_project")
+ *             .description("My awesome project.")
+ *             .visibilityLevel("public")
+ *             .build());
+ * 
+ *         var jenkins = new IntegrationJenkins("jenkins", IntegrationJenkinsArgs.builder()
+ *             .project(awesomeProject.id())
+ *             .jenkinsUrl("http://jenkins.example.com")
+ *             .projectName("my_project_name")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * ```sh + * $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins You can import a gitlab_integration_jenkins state using `<resource> <project_id>`: + * ``` + * + * ```sh + * $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins jenkins 1 + * ``` + * + */ +@ResourceType(type="gitlab:index/integrationJenkins:IntegrationJenkins") +public class IntegrationJenkins extends com.pulumi.resources.CustomResource { + /** + * Whether the integration is active. + * + */ + @Export(name="active", refs={Boolean.class}, tree="[0]") + private Output active; + + /** + * @return Whether the integration is active. + * + */ + public Output active() { + return this.active; + } + /** + * Enable SSL verification. Defaults to `true` (enabled). + * + */ + @Export(name="enableSslVerification", refs={Boolean.class}, tree="[0]") + private Output enableSslVerification; + + /** + * @return Enable SSL verification. Defaults to `true` (enabled). + * + */ + public Output enableSslVerification() { + return this.enableSslVerification; + } + /** + * Jenkins URL like `http://jenkins.example.com` + * + */ + @Export(name="jenkinsUrl", refs={String.class}, tree="[0]") + private Output jenkinsUrl; + + /** + * @return Jenkins URL like `http://jenkins.example.com` + * + */ + public Output jenkinsUrl() { + return this.jenkinsUrl; + } + /** + * Enable notifications for merge request events. + * + */ + @Export(name="mergeRequestEvents", refs={Boolean.class}, tree="[0]") + private Output mergeRequestEvents; + + /** + * @return Enable notifications for merge request events. + * + */ + public Output mergeRequestEvents() { + return this.mergeRequestEvents; + } + /** + * Password for authentication with the Jenkins server, if authentication is required by the server. + * + */ + @Export(name="password", refs={String.class}, tree="[0]") + private Output password; + + /** + * @return Password for authentication with the Jenkins server, if authentication is required by the server. + * + */ + public Output> password() { + return Codegen.optional(this.password); + } + /** + * ID of the project you want to activate integration on. + * + */ + @Export(name="project", refs={String.class}, tree="[0]") + private Output project; + + /** + * @return ID of the project you want to activate integration on. + * + */ + public Output project() { + return this.project; + } + /** + * The URL-friendly project name. Example: `my_project_name`. + * + */ + @Export(name="projectName", refs={String.class}, tree="[0]") + private Output projectName; + + /** + * @return The URL-friendly project name. Example: `my_project_name`. + * + */ + public Output projectName() { + return this.projectName; + } + /** + * Enable notifications for push events. + * + */ + @Export(name="pushEvents", refs={Boolean.class}, tree="[0]") + private Output pushEvents; + + /** + * @return Enable notifications for push events. + * + */ + public Output pushEvents() { + return this.pushEvents; + } + /** + * Enable notifications for tag push events. + * + */ + @Export(name="tagPushEvents", refs={Boolean.class}, tree="[0]") + private Output tagPushEvents; + + /** + * @return Enable notifications for tag push events. + * + */ + public Output tagPushEvents() { + return this.tagPushEvents; + } + /** + * Username for authentication with the Jenkins server, if authentication is required by the server. + * + */ + @Export(name="username", refs={String.class}, tree="[0]") + private Output username; + + /** + * @return Username for authentication with the Jenkins server, if authentication is required by the server. + * + */ + public Output> username() { + return Codegen.optional(this.username); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public IntegrationJenkins(String name) { + this(name, IntegrationJenkinsArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public IntegrationJenkins(String name, IntegrationJenkinsArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public IntegrationJenkins(String name, IntegrationJenkinsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("gitlab:index/integrationJenkins:IntegrationJenkins", name, args == null ? IntegrationJenkinsArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private IntegrationJenkins(String name, Output id, @Nullable IntegrationJenkinsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("gitlab:index/integrationJenkins:IntegrationJenkins", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "password" + )) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static IntegrationJenkins get(String name, Output id, @Nullable IntegrationJenkinsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new IntegrationJenkins(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/IntegrationJenkinsArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/IntegrationJenkinsArgs.java new file mode 100644 index 00000000..813c36b5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/gitlab/IntegrationJenkinsArgs.java @@ -0,0 +1,390 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.gitlab; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationJenkinsArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationJenkinsArgs Empty = new IntegrationJenkinsArgs(); + + /** + * Enable SSL verification. Defaults to `true` (enabled). + * + */ + @Import(name="enableSslVerification") + private @Nullable Output enableSslVerification; + + /** + * @return Enable SSL verification. Defaults to `true` (enabled). + * + */ + public Optional> enableSslVerification() { + return Optional.ofNullable(this.enableSslVerification); + } + + /** + * Jenkins URL like `http://jenkins.example.com` + * + */ + @Import(name="jenkinsUrl", required=true) + private Output jenkinsUrl; + + /** + * @return Jenkins URL like `http://jenkins.example.com` + * + */ + public Output jenkinsUrl() { + return this.jenkinsUrl; + } + + /** + * Enable notifications for merge request events. + * + */ + @Import(name="mergeRequestEvents") + private @Nullable Output mergeRequestEvents; + + /** + * @return Enable notifications for merge request events. + * + */ + public Optional> mergeRequestEvents() { + return Optional.ofNullable(this.mergeRequestEvents); + } + + /** + * Password for authentication with the Jenkins server, if authentication is required by the server. + * + */ + @Import(name="password") + private @Nullable Output password; + + /** + * @return Password for authentication with the Jenkins server, if authentication is required by the server. + * + */ + public Optional> password() { + return Optional.ofNullable(this.password); + } + + /** + * ID of the project you want to activate integration on. + * + */ + @Import(name="project", required=true) + private Output project; + + /** + * @return ID of the project you want to activate integration on. + * + */ + public Output project() { + return this.project; + } + + /** + * The URL-friendly project name. Example: `my_project_name`. + * + */ + @Import(name="projectName", required=true) + private Output projectName; + + /** + * @return The URL-friendly project name. Example: `my_project_name`. + * + */ + public Output projectName() { + return this.projectName; + } + + /** + * Enable notifications for push events. + * + */ + @Import(name="pushEvents") + private @Nullable Output pushEvents; + + /** + * @return Enable notifications for push events. + * + */ + public Optional> pushEvents() { + return Optional.ofNullable(this.pushEvents); + } + + /** + * Enable notifications for tag push events. + * + */ + @Import(name="tagPushEvents") + private @Nullable Output tagPushEvents; + + /** + * @return Enable notifications for tag push events. + * + */ + public Optional> tagPushEvents() { + return Optional.ofNullable(this.tagPushEvents); + } + + /** + * Username for authentication with the Jenkins server, if authentication is required by the server. + * + */ + @Import(name="username") + private @Nullable Output username; + + /** + * @return Username for authentication with the Jenkins server, if authentication is required by the server. + * + */ + public Optional> username() { + return Optional.ofNullable(this.username); + } + + private IntegrationJenkinsArgs() {} + + private IntegrationJenkinsArgs(IntegrationJenkinsArgs $) { + this.enableSslVerification = $.enableSslVerification; + this.jenkinsUrl = $.jenkinsUrl; + this.mergeRequestEvents = $.mergeRequestEvents; + this.password = $.password; + this.project = $.project; + this.projectName = $.projectName; + this.pushEvents = $.pushEvents; + this.tagPushEvents = $.tagPushEvents; + this.username = $.username; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationJenkinsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationJenkinsArgs $; + + public Builder() { + $ = new IntegrationJenkinsArgs(); + } + + public Builder(IntegrationJenkinsArgs defaults) { + $ = new IntegrationJenkinsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enableSslVerification Enable SSL verification. Defaults to `true` (enabled). + * + * @return builder + * + */ + public Builder enableSslVerification(@Nullable Output enableSslVerification) { + $.enableSslVerification = enableSslVerification; + return this; + } + + /** + * @param enableSslVerification Enable SSL verification. Defaults to `true` (enabled). + * + * @return builder + * + */ + public Builder enableSslVerification(Boolean enableSslVerification) { + return enableSslVerification(Output.of(enableSslVerification)); + } + + /** + * @param jenkinsUrl Jenkins URL like `http://jenkins.example.com` + * + * @return builder + * + */ + public Builder jenkinsUrl(Output jenkinsUrl) { + $.jenkinsUrl = jenkinsUrl; + return this; + } + + /** + * @param jenkinsUrl Jenkins URL like `http://jenkins.example.com` + * + * @return builder + * + */ + public Builder jenkinsUrl(String jenkinsUrl) { + return jenkinsUrl(Output.of(jenkinsUrl)); + } + + /** + * @param mergeRequestEvents Enable notifications for merge request events. + * + * @return builder + * + */ + public Builder mergeRequestEvents(@Nullable Output mergeRequestEvents) { + $.mergeRequestEvents = mergeRequestEvents; + return this; + } + + /** + * @param mergeRequestEvents Enable notifications for merge request events. + * + * @return builder + * + */ + public Builder mergeRequestEvents(Boolean mergeRequestEvents) { + return mergeRequestEvents(Output.of(mergeRequestEvents)); + } + + /** + * @param password Password for authentication with the Jenkins server, if authentication is required by the server. + * + * @return builder + * + */ + public Builder password(@Nullable Output password) { + $.password = password; + return this; + } + + /** + * @param password Password for authentication with the Jenkins server, if authentication is required by the server. + * + * @return builder + * + */ + public Builder password(String password) { + return password(Output.of(password)); + } + + /** + * @param project ID of the project you want to activate integration on. + * + * @return builder + * + */ + public Builder project(Output project) { + $.project = project; + return this; + } + + /** + * @param project ID of the project you want to activate integration on. + * + * @return builder + * + */ + public Builder project(String project) { + return project(Output.of(project)); + } + + /** + * @param projectName The URL-friendly project name. Example: `my_project_name`. + * + * @return builder + * + */ + public Builder projectName(Output projectName) { + $.projectName = projectName; + return this; + } + + /** + * @param projectName The URL-friendly project name. Example: `my_project_name`. + * + * @return builder + * + */ + public Builder projectName(String projectName) { + return projectName(Output.of(projectName)); + } + + /** + * @param pushEvents Enable notifications for push events. + * + * @return builder + * + */ + public Builder pushEvents(@Nullable Output pushEvents) { + $.pushEvents = pushEvents; + return this; + } + + /** + * @param pushEvents Enable notifications for push events. + * + * @return builder + * + */ + public Builder pushEvents(Boolean pushEvents) { + return pushEvents(Output.of(pushEvents)); + } + + /** + * @param tagPushEvents Enable notifications for tag push events. + * + * @return builder + * + */ + public Builder tagPushEvents(@Nullable Output tagPushEvents) { + $.tagPushEvents = tagPushEvents; + return this; + } + + /** + * @param tagPushEvents Enable notifications for tag push events. + * + * @return builder + * + */ + public Builder tagPushEvents(Boolean tagPushEvents) { + return tagPushEvents(Output.of(tagPushEvents)); + } + + /** + * @param username Username for authentication with the Jenkins server, if authentication is required by the server. + * + * @return builder + * + */ + public Builder username(@Nullable Output username) { + $.username = username; + return this; + } + + /** + * @param username Username for authentication with the Jenkins server, if authentication is required by the server. + * + * @return builder + * + */ + public Builder username(String username) { + return username(Output.of(username)); + } + + public IntegrationJenkinsArgs build() { + if ($.jenkinsUrl == null) { + throw new MissingRequiredPropertyException("IntegrationJenkinsArgs", "jenkinsUrl"); + } + if ($.project == null) { + throw new MissingRequiredPropertyException("IntegrationJenkinsArgs", "project"); + } + if ($.projectName == null) { + throw new MissingRequiredPropertyException("IntegrationJenkinsArgs", "projectName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/PipelineSchedule.java b/sdk/java/src/main/java/com/pulumi/gitlab/PipelineSchedule.java index aaed3a7a..98be0aa8 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/PipelineSchedule.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/PipelineSchedule.java @@ -48,7 +48,7 @@ * var example = new PipelineSchedule("example", PipelineScheduleArgs.builder() * .project("12345") * .description("Used to schedule builds") - * .ref("master") + * .ref("refs/heads/main") * .cron("0 1 * * *") * .build()); * @@ -168,14 +168,14 @@ public Output project() { return this.project; } /** - * The branch/tag name to be triggered. + * The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. * */ @Export(name="ref", refs={String.class}, tree="[0]") private Output ref; /** - * @return The branch/tag name to be triggered. + * @return The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. * */ public Output ref() { diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleArgs.java index 2884bd75..c1356a84 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleArgs.java @@ -93,14 +93,14 @@ public Output project() { } /** - * The branch/tag name to be triggered. + * The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. * */ @Import(name="ref", required=true) private Output ref; /** - * @return The branch/tag name to be triggered. + * @return The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. * */ public Output ref() { @@ -250,7 +250,7 @@ public Builder project(String project) { } /** - * @param ref The branch/tag name to be triggered. + * @param ref The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. * * @return builder * @@ -261,7 +261,7 @@ public Builder ref(Output ref) { } /** - * @param ref The branch/tag name to be triggered. + * @param ref The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleVariable.java b/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleVariable.java index e66c65f5..6e976148 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleVariable.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleVariable.java @@ -133,6 +133,20 @@ public Output project() { public Output value() { return this.value; } + /** + * The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + * + */ + @Export(name="variableType", refs={String.class}, tree="[0]") + private Output variableType; + + /** + * @return The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + * + */ + public Output variableType() { + return this.variableType; + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleVariableArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleVariableArgs.java index 2ef01b80..4dab695a 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleVariableArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/PipelineScheduleVariableArgs.java @@ -9,6 +9,8 @@ import java.lang.Integer; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class PipelineScheduleVariableArgs extends com.pulumi.resources.ResourceArgs { @@ -75,6 +77,21 @@ public Output value() { return this.value; } + /** + * The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + * + */ + @Import(name="variableType") + private @Nullable Output variableType; + + /** + * @return The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + * + */ + public Optional> variableType() { + return Optional.ofNullable(this.variableType); + } + private PipelineScheduleVariableArgs() {} private PipelineScheduleVariableArgs(PipelineScheduleVariableArgs $) { @@ -82,6 +99,7 @@ private PipelineScheduleVariableArgs(PipelineScheduleVariableArgs $) { this.pipelineScheduleId = $.pipelineScheduleId; this.project = $.project; this.value = $.value; + this.variableType = $.variableType; } public static Builder builder() { @@ -186,6 +204,27 @@ public Builder value(String value) { return value(Output.of(value)); } + /** + * @param variableType The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + * + * @return builder + * + */ + public Builder variableType(@Nullable Output variableType) { + $.variableType = variableType; + return this; + } + + /** + * @param variableType The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + * + * @return builder + * + */ + public Builder variableType(String variableType) { + return variableType(Output.of(variableType)); + } + public PipelineScheduleVariableArgs build() { if ($.key == null) { throw new MissingRequiredPropertyException("PipelineScheduleVariableArgs", "key"); diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/PipelineTrigger.java b/sdk/java/src/main/java/com/pulumi/gitlab/PipelineTrigger.java index 64173993..1fd15467 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/PipelineTrigger.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/PipelineTrigger.java @@ -110,14 +110,14 @@ public Output project() { return this.project; } /** - * The pipeline trigger token. + * The pipeline trigger token. This value is not available during import. * */ @Export(name="token", refs={String.class}, tree="[0]") private Output token; /** - * @return The pipeline trigger token. + * @return The pipeline trigger token. This value is not available during import. * */ public Output token() { diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/Project.java b/sdk/java/src/main/java/com/pulumi/gitlab/Project.java index 8d464339..a19e4721 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/Project.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/Project.java @@ -419,24 +419,6 @@ public Output defaultBranch() { public Output> description() { return Codegen.optional(this.description); } - /** - * Disable email notifications. - * - * @deprecated - * use `emails_enabled` instead. - * - */ - @Deprecated /* use `emails_enabled` instead. */ - @Export(name="emailsDisabled", refs={Boolean.class}, tree="[0]") - private Output emailsDisabled; - - /** - * @return Disable email notifications. - * - */ - public Output emailsDisabled() { - return this.emailsDisabled; - } /** * Enable email notifications. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectAccessToken.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectAccessToken.java index d230ddb0..5b0586e8 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectAccessToken.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectAccessToken.java @@ -90,14 +90,14 @@ @ResourceType(type="gitlab:index/projectAccessToken:ProjectAccessToken") public class ProjectAccessToken extends com.pulumi.resources.CustomResource { /** - * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ @Export(name="accessLevel", refs={String.class}, tree="[0]") private Output accessLevel; /** - * @return The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @return The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ public Output accessLevel() { diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectAccessTokenArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectAccessTokenArgs.java index 85faad00..b0f823d0 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectAccessTokenArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectAccessTokenArgs.java @@ -19,14 +19,14 @@ public final class ProjectAccessTokenArgs extends com.pulumi.resources.ResourceA public static final ProjectAccessTokenArgs Empty = new ProjectAccessTokenArgs(); /** - * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ @Import(name="accessLevel") private @Nullable Output accessLevel; /** - * @return The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @return The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ public Optional> accessLevel() { @@ -138,7 +138,7 @@ public Builder(ProjectAccessTokenArgs defaults) { } /** - * @param accessLevel The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @param accessLevel The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * * @return builder * @@ -149,7 +149,7 @@ public Builder accessLevel(@Nullable Output accessLevel) { } /** - * @param accessLevel The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @param accessLevel The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectArgs.java index 20701cb9..93efe05a 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectArgs.java @@ -417,29 +417,6 @@ public Optional> description() { return Optional.ofNullable(this.description); } - /** - * Disable email notifications. - * - * @deprecated - * use `emails_enabled` instead. - * - */ - @Deprecated /* use `emails_enabled` instead. */ - @Import(name="emailsDisabled") - private @Nullable Output emailsDisabled; - - /** - * @return Disable email notifications. - * - * @deprecated - * use `emails_enabled` instead. - * - */ - @Deprecated /* use `emails_enabled` instead. */ - public Optional> emailsDisabled() { - return Optional.ofNullable(this.emailsDisabled); - } - /** * Enable email notifications. * @@ -1497,7 +1474,6 @@ private ProjectArgs(ProjectArgs $) { this.containerRegistryEnabled = $.containerRegistryEnabled; this.defaultBranch = $.defaultBranch; this.description = $.description; - this.emailsDisabled = $.emailsDisabled; this.emailsEnabled = $.emailsEnabled; this.environmentsAccessLevel = $.environmentsAccessLevel; this.externalAuthorizationClassificationLabel = $.externalAuthorizationClassificationLabel; @@ -2132,35 +2108,6 @@ public Builder description(String description) { return description(Output.of(description)); } - /** - * @param emailsDisabled Disable email notifications. - * - * @return builder - * - * @deprecated - * use `emails_enabled` instead. - * - */ - @Deprecated /* use `emails_enabled` instead. */ - public Builder emailsDisabled(@Nullable Output emailsDisabled) { - $.emailsDisabled = emailsDisabled; - return this; - } - - /** - * @param emailsDisabled Disable email notifications. - * - * @return builder - * - * @deprecated - * use `emails_enabled` instead. - * - */ - @Deprecated /* use `emails_enabled` instead. */ - public Builder emailsDisabled(Boolean emailsDisabled) { - return emailsDisabled(Output.of(emailsDisabled)); - } - /** * @param emailsEnabled Enable email notifications. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectJobTokenScope.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectJobTokenScope.java index 13b205b2..008ddc04 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectJobTokenScope.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectJobTokenScope.java @@ -16,12 +16,15 @@ /** * The `gitlab.ProjectJobTokenScope` resource allows to manage the CI/CD Job Token scope in a project. + * Any projects added to the CI/CD Job Token scope outside of TF will be untouched by the resource. + * + * > Conflicts with the use of `gitlab.ProjectJobTokenScopes` when used on the same project. Use one or the other to ensure the desired state. * * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) * * ## Import * - * GitLab project environments can be imported using an id made up of `projectId:targetProjectId`, e.g. + * GitLab project job token scopes can be imported using an id made up of `projectId:targetProjectId`, e.g. * * ```sh * $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:321 diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectJobTokenScopes.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectJobTokenScopes.java new file mode 100644 index 00000000..d6a02adb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectJobTokenScopes.java @@ -0,0 +1,118 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.gitlab; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.gitlab.ProjectJobTokenScopesArgs; +import com.pulumi.gitlab.Utilities; +import com.pulumi.gitlab.inputs.ProjectJobTokenScopesState; +import java.lang.Integer; +import java.util.List; +import javax.annotation.Nullable; + +/** + * The `gitlab.ProjectJobTokenScopes` resource allows to manage the CI/CD Job Token scopes in a project. + * Any project not within the defined set in this attribute will be removed, which allows this resource to be used as an explicit deny. + * + * > Conflicts with the use of `gitlab.ProjectJobTokenScope` when used on the same project. Use one or the other to ensure the desired state. + * + * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + * ## Import + * + * GitLab project job token scopes can be imported using an id made up of just the `project_id` as an integer + * + * ```sh + * $ pulumi import gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes bar 123 + * ``` + * + */ +@ResourceType(type="gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes") +public class ProjectJobTokenScopes extends com.pulumi.resources.CustomResource { + /** + * The ID of the project. + * + */ + @Export(name="projectId", refs={Integer.class}, tree="[0]") + private Output projectId; + + /** + * @return The ID of the project. + * + */ + public Output projectId() { + return this.projectId; + } + /** + * A set of project IDs that are in the CI/CD job token inbound allowlist. + * + */ + @Export(name="targetProjectIds", refs={List.class,Integer.class}, tree="[0,1]") + private Output> targetProjectIds; + + /** + * @return A set of project IDs that are in the CI/CD job token inbound allowlist. + * + */ + public Output> targetProjectIds() { + return this.targetProjectIds; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ProjectJobTokenScopes(String name) { + this(name, ProjectJobTokenScopesArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ProjectJobTokenScopes(String name, ProjectJobTokenScopesArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ProjectJobTokenScopes(String name, ProjectJobTokenScopesArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes", name, args == null ? ProjectJobTokenScopesArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private ProjectJobTokenScopes(String name, Output id, @Nullable ProjectJobTokenScopesState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ProjectJobTokenScopes get(String name, Output id, @Nullable ProjectJobTokenScopesState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ProjectJobTokenScopes(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectJobTokenScopesArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectJobTokenScopesArgs.java new file mode 100644 index 00000000..72e06286 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectJobTokenScopesArgs.java @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.gitlab; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; + + +public final class ProjectJobTokenScopesArgs extends com.pulumi.resources.ResourceArgs { + + public static final ProjectJobTokenScopesArgs Empty = new ProjectJobTokenScopesArgs(); + + /** + * The ID of the project. + * + */ + @Import(name="projectId", required=true) + private Output projectId; + + /** + * @return The ID of the project. + * + */ + public Output projectId() { + return this.projectId; + } + + /** + * A set of project IDs that are in the CI/CD job token inbound allowlist. + * + */ + @Import(name="targetProjectIds", required=true) + private Output> targetProjectIds; + + /** + * @return A set of project IDs that are in the CI/CD job token inbound allowlist. + * + */ + public Output> targetProjectIds() { + return this.targetProjectIds; + } + + private ProjectJobTokenScopesArgs() {} + + private ProjectJobTokenScopesArgs(ProjectJobTokenScopesArgs $) { + this.projectId = $.projectId; + this.targetProjectIds = $.targetProjectIds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProjectJobTokenScopesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProjectJobTokenScopesArgs $; + + public Builder() { + $ = new ProjectJobTokenScopesArgs(); + } + + public Builder(ProjectJobTokenScopesArgs defaults) { + $ = new ProjectJobTokenScopesArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param projectId The ID of the project. + * + * @return builder + * + */ + public Builder projectId(Output projectId) { + $.projectId = projectId; + return this; + } + + /** + * @param projectId The ID of the project. + * + * @return builder + * + */ + public Builder projectId(Integer projectId) { + return projectId(Output.of(projectId)); + } + + /** + * @param targetProjectIds A set of project IDs that are in the CI/CD job token inbound allowlist. + * + * @return builder + * + */ + public Builder targetProjectIds(Output> targetProjectIds) { + $.targetProjectIds = targetProjectIds; + return this; + } + + /** + * @param targetProjectIds A set of project IDs that are in the CI/CD job token inbound allowlist. + * + * @return builder + * + */ + public Builder targetProjectIds(List targetProjectIds) { + return targetProjectIds(Output.of(targetProjectIds)); + } + + /** + * @param targetProjectIds A set of project IDs that are in the CI/CD job token inbound allowlist. + * + * @return builder + * + */ + public Builder targetProjectIds(Integer... targetProjectIds) { + return targetProjectIds(List.of(targetProjectIds)); + } + + public ProjectJobTokenScopesArgs build() { + if ($.projectId == null) { + throw new MissingRequiredPropertyException("ProjectJobTokenScopesArgs", "projectId"); + } + if ($.targetProjectIds == null) { + throw new MissingRequiredPropertyException("ProjectJobTokenScopesArgs", "targetProjectIds"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectMembership.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectMembership.java index c9c8f44c..4daf5470 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectMembership.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectMembership.java @@ -78,14 +78,14 @@ @ResourceType(type="gitlab:index/projectMembership:ProjectMembership") public class ProjectMembership extends com.pulumi.resources.CustomResource { /** - * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Export(name="accessLevel", refs={String.class}, tree="[0]") private Output accessLevel; /** - * @return The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Output accessLevel() { diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectMembershipArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectMembershipArgs.java index 3d84e681..ae1a07a8 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectMembershipArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectMembershipArgs.java @@ -18,14 +18,14 @@ public final class ProjectMembershipArgs extends com.pulumi.resources.ResourceAr public static final ProjectMembershipArgs Empty = new ProjectMembershipArgs(); /** - * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Import(name="accessLevel", required=true) private Output accessLevel; /** - * @return The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Output accessLevel() { @@ -105,7 +105,7 @@ public Builder(ProjectMembershipArgs defaults) { } /** - * @param accessLevel The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -116,7 +116,7 @@ public Builder accessLevel(Output accessLevel) { } /** - * @param accessLevel The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectProtectedEnvironment.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectProtectedEnvironment.java index 69af0cba..5b9b41eb 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectProtectedEnvironment.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectProtectedEnvironment.java @@ -12,7 +12,6 @@ import com.pulumi.gitlab.inputs.ProjectProtectedEnvironmentState; import com.pulumi.gitlab.outputs.ProjectProtectedEnvironmentApprovalRule; import com.pulumi.gitlab.outputs.ProjectProtectedEnvironmentDeployAccessLevel; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Optional; @@ -96,20 +95,6 @@ public Output environment() { public Output project() { return this.project; } - /** - * The number of approvals required to deploy to this environment. - * - */ - @Export(name="requiredApprovalCount", refs={Integer.class}, tree="[0]") - private Output requiredApprovalCount; - - /** - * @return The number of approvals required to deploy to this environment. - * - */ - public Output requiredApprovalCount() { - return this.requiredApprovalCount; - } /** * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectProtectedEnvironmentArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectProtectedEnvironmentArgs.java index d128eec3..68d9d189 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectProtectedEnvironmentArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectProtectedEnvironmentArgs.java @@ -8,7 +8,6 @@ import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.gitlab.inputs.ProjectProtectedEnvironmentApprovalRuleArgs; import com.pulumi.gitlab.inputs.ProjectProtectedEnvironmentDeployAccessLevelArgs; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -80,21 +79,6 @@ public Output project() { return this.project; } - /** - * The number of approvals required to deploy to this environment. - * - */ - @Import(name="requiredApprovalCount") - private @Nullable Output requiredApprovalCount; - - /** - * @return The number of approvals required to deploy to this environment. - * - */ - public Optional> requiredApprovalCount() { - return Optional.ofNullable(this.requiredApprovalCount); - } - private ProjectProtectedEnvironmentArgs() {} private ProjectProtectedEnvironmentArgs(ProjectProtectedEnvironmentArgs $) { @@ -102,7 +86,6 @@ private ProjectProtectedEnvironmentArgs(ProjectProtectedEnvironmentArgs $) { this.deployAccessLevels = $.deployAccessLevels; this.environment = $.environment; this.project = $.project; - this.requiredApprovalCount = $.requiredApprovalCount; } public static Builder builder() { @@ -227,27 +210,6 @@ public Builder project(String project) { return project(Output.of(project)); } - /** - * @param requiredApprovalCount The number of approvals required to deploy to this environment. - * - * @return builder - * - */ - public Builder requiredApprovalCount(@Nullable Output requiredApprovalCount) { - $.requiredApprovalCount = requiredApprovalCount; - return this; - } - - /** - * @param requiredApprovalCount The number of approvals required to deploy to this environment. - * - * @return builder - * - */ - public Builder requiredApprovalCount(Integer requiredApprovalCount) { - return requiredApprovalCount(Output.of(requiredApprovalCount)); - } - public ProjectProtectedEnvironmentArgs build() { if ($.environment == null) { throw new MissingRequiredPropertyException("ProjectProtectedEnvironmentArgs", "environment"); diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectPushRules.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectPushRules.java new file mode 100644 index 00000000..160de36c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectPushRules.java @@ -0,0 +1,308 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.gitlab; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.gitlab.ProjectPushRulesArgs; +import com.pulumi.gitlab.Utilities; +import com.pulumi.gitlab.inputs.ProjectPushRulesState; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.gitlab.ProjectPushRules;
+ * import com.pulumi.gitlab.ProjectPushRulesArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var sample = new ProjectPushRules("sample", ProjectPushRulesArgs.builder()
+ *             .project(42)
+ *             .authorEmailRegex("{@literal @}gitlab.com$")
+ *             .branchNameRegex("(feat|fix)\\/*")
+ *             .commitCommitterCheck(true)
+ *             .commitCommitterNameCheck(true)
+ *             .commitMessageNegativeRegex("ssh\\:\\/\\/")
+ *             .commitMessageRegex("(feat|fix):.*")
+ *             .denyDeleteTag(false)
+ *             .fileNameRegex("(jar|exe)$")
+ *             .maxFileSize(4)
+ *             .memberCheck(true)
+ *             .preventSecrets(true)
+ *             .rejectUnsignedCommits(false)
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Gitlab project push rules can be imported with a key composed of `<project_id>`, e.g. + * + * ```sh + * $ pulumi import gitlab:index/projectPushRules:ProjectPushRules sample "42" + * ``` + * + */ +@ResourceType(type="gitlab:index/projectPushRules:ProjectPushRules") +public class ProjectPushRules extends com.pulumi.resources.CustomResource { + /** + * All commit author emails must match this regex, e.g. `{@literal @}my-company.com$`. + * + */ + @Export(name="authorEmailRegex", refs={String.class}, tree="[0]") + private Output authorEmailRegex; + + /** + * @return All commit author emails must match this regex, e.g. `{@literal @}my-company.com$`. + * + */ + public Output authorEmailRegex() { + return this.authorEmailRegex; + } + /** + * All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + * + */ + @Export(name="branchNameRegex", refs={String.class}, tree="[0]") + private Output branchNameRegex; + + /** + * @return All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + * + */ + public Output branchNameRegex() { + return this.branchNameRegex; + } + /** + * Users can only push commits to this repository that were committed with one of their own verified emails. + * + */ + @Export(name="commitCommitterCheck", refs={Boolean.class}, tree="[0]") + private Output commitCommitterCheck; + + /** + * @return Users can only push commits to this repository that were committed with one of their own verified emails. + * + */ + public Output commitCommitterCheck() { + return this.commitCommitterCheck; + } + /** + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + @Export(name="commitCommitterNameCheck", refs={Boolean.class}, tree="[0]") + private Output commitCommitterNameCheck; + + /** + * @return Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + public Output commitCommitterNameCheck() { + return this.commitCommitterNameCheck; + } + /** + * No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + * + */ + @Export(name="commitMessageNegativeRegex", refs={String.class}, tree="[0]") + private Output commitMessageNegativeRegex; + + /** + * @return No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + * + */ + public Output commitMessageNegativeRegex() { + return this.commitMessageNegativeRegex; + } + /** + * All commit messages must match this regex, e.g. `Fixed \d+\..*`. + * + */ + @Export(name="commitMessageRegex", refs={String.class}, tree="[0]") + private Output commitMessageRegex; + + /** + * @return All commit messages must match this regex, e.g. `Fixed \d+\..*`. + * + */ + public Output commitMessageRegex() { + return this.commitMessageRegex; + } + /** + * Deny deleting a tag. + * + */ + @Export(name="denyDeleteTag", refs={Boolean.class}, tree="[0]") + private Output denyDeleteTag; + + /** + * @return Deny deleting a tag. + * + */ + public Output denyDeleteTag() { + return this.denyDeleteTag; + } + /** + * All committed filenames must not match this regex, e.g. `(jar|exe)$`. + * + */ + @Export(name="fileNameRegex", refs={String.class}, tree="[0]") + private Output fileNameRegex; + + /** + * @return All committed filenames must not match this regex, e.g. `(jar|exe)$`. + * + */ + public Output fileNameRegex() { + return this.fileNameRegex; + } + /** + * Maximum file size (MB). + * + */ + @Export(name="maxFileSize", refs={Integer.class}, tree="[0]") + private Output maxFileSize; + + /** + * @return Maximum file size (MB). + * + */ + public Output maxFileSize() { + return this.maxFileSize; + } + /** + * Restrict commits by author (email) to existing GitLab users. + * + */ + @Export(name="memberCheck", refs={Boolean.class}, tree="[0]") + private Output memberCheck; + + /** + * @return Restrict commits by author (email) to existing GitLab users. + * + */ + public Output memberCheck() { + return this.memberCheck; + } + /** + * GitLab will reject any files that are likely to contain secrets. + * + */ + @Export(name="preventSecrets", refs={Boolean.class}, tree="[0]") + private Output preventSecrets; + + /** + * @return GitLab will reject any files that are likely to contain secrets. + * + */ + public Output preventSecrets() { + return this.preventSecrets; + } + /** + * The ID or URL-encoded path of the project. + * + */ + @Export(name="project", refs={String.class}, tree="[0]") + private Output project; + + /** + * @return The ID or URL-encoded path of the project. + * + */ + public Output project() { + return this.project; + } + /** + * Reject commit when it’s not signed. + * + */ + @Export(name="rejectUnsignedCommits", refs={Boolean.class}, tree="[0]") + private Output rejectUnsignedCommits; + + /** + * @return Reject commit when it’s not signed. + * + */ + public Output rejectUnsignedCommits() { + return this.rejectUnsignedCommits; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ProjectPushRules(String name) { + this(name, ProjectPushRulesArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ProjectPushRules(String name, ProjectPushRulesArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ProjectPushRules(String name, ProjectPushRulesArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("gitlab:index/projectPushRules:ProjectPushRules", name, args == null ? ProjectPushRulesArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private ProjectPushRules(String name, Output id, @Nullable ProjectPushRulesState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("gitlab:index/projectPushRules:ProjectPushRules", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ProjectPushRules get(String name, Output id, @Nullable ProjectPushRulesState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ProjectPushRules(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectPushRulesArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectPushRulesArgs.java new file mode 100644 index 00000000..3bc4be06 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectPushRulesArgs.java @@ -0,0 +1,533 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.gitlab; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ProjectPushRulesArgs extends com.pulumi.resources.ResourceArgs { + + public static final ProjectPushRulesArgs Empty = new ProjectPushRulesArgs(); + + /** + * All commit author emails must match this regex, e.g. `{@literal @}my-company.com$`. + * + */ + @Import(name="authorEmailRegex") + private @Nullable Output authorEmailRegex; + + /** + * @return All commit author emails must match this regex, e.g. `{@literal @}my-company.com$`. + * + */ + public Optional> authorEmailRegex() { + return Optional.ofNullable(this.authorEmailRegex); + } + + /** + * All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + * + */ + @Import(name="branchNameRegex") + private @Nullable Output branchNameRegex; + + /** + * @return All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + * + */ + public Optional> branchNameRegex() { + return Optional.ofNullable(this.branchNameRegex); + } + + /** + * Users can only push commits to this repository that were committed with one of their own verified emails. + * + */ + @Import(name="commitCommitterCheck") + private @Nullable Output commitCommitterCheck; + + /** + * @return Users can only push commits to this repository that were committed with one of their own verified emails. + * + */ + public Optional> commitCommitterCheck() { + return Optional.ofNullable(this.commitCommitterCheck); + } + + /** + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + @Import(name="commitCommitterNameCheck") + private @Nullable Output commitCommitterNameCheck; + + /** + * @return Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + public Optional> commitCommitterNameCheck() { + return Optional.ofNullable(this.commitCommitterNameCheck); + } + + /** + * No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + * + */ + @Import(name="commitMessageNegativeRegex") + private @Nullable Output commitMessageNegativeRegex; + + /** + * @return No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + * + */ + public Optional> commitMessageNegativeRegex() { + return Optional.ofNullable(this.commitMessageNegativeRegex); + } + + /** + * All commit messages must match this regex, e.g. `Fixed \d+\..*`. + * + */ + @Import(name="commitMessageRegex") + private @Nullable Output commitMessageRegex; + + /** + * @return All commit messages must match this regex, e.g. `Fixed \d+\..*`. + * + */ + public Optional> commitMessageRegex() { + return Optional.ofNullable(this.commitMessageRegex); + } + + /** + * Deny deleting a tag. + * + */ + @Import(name="denyDeleteTag") + private @Nullable Output denyDeleteTag; + + /** + * @return Deny deleting a tag. + * + */ + public Optional> denyDeleteTag() { + return Optional.ofNullable(this.denyDeleteTag); + } + + /** + * All committed filenames must not match this regex, e.g. `(jar|exe)$`. + * + */ + @Import(name="fileNameRegex") + private @Nullable Output fileNameRegex; + + /** + * @return All committed filenames must not match this regex, e.g. `(jar|exe)$`. + * + */ + public Optional> fileNameRegex() { + return Optional.ofNullable(this.fileNameRegex); + } + + /** + * Maximum file size (MB). + * + */ + @Import(name="maxFileSize") + private @Nullable Output maxFileSize; + + /** + * @return Maximum file size (MB). + * + */ + public Optional> maxFileSize() { + return Optional.ofNullable(this.maxFileSize); + } + + /** + * Restrict commits by author (email) to existing GitLab users. + * + */ + @Import(name="memberCheck") + private @Nullable Output memberCheck; + + /** + * @return Restrict commits by author (email) to existing GitLab users. + * + */ + public Optional> memberCheck() { + return Optional.ofNullable(this.memberCheck); + } + + /** + * GitLab will reject any files that are likely to contain secrets. + * + */ + @Import(name="preventSecrets") + private @Nullable Output preventSecrets; + + /** + * @return GitLab will reject any files that are likely to contain secrets. + * + */ + public Optional> preventSecrets() { + return Optional.ofNullable(this.preventSecrets); + } + + /** + * The ID or URL-encoded path of the project. + * + */ + @Import(name="project", required=true) + private Output project; + + /** + * @return The ID or URL-encoded path of the project. + * + */ + public Output project() { + return this.project; + } + + /** + * Reject commit when it’s not signed. + * + */ + @Import(name="rejectUnsignedCommits") + private @Nullable Output rejectUnsignedCommits; + + /** + * @return Reject commit when it’s not signed. + * + */ + public Optional> rejectUnsignedCommits() { + return Optional.ofNullable(this.rejectUnsignedCommits); + } + + private ProjectPushRulesArgs() {} + + private ProjectPushRulesArgs(ProjectPushRulesArgs $) { + this.authorEmailRegex = $.authorEmailRegex; + this.branchNameRegex = $.branchNameRegex; + this.commitCommitterCheck = $.commitCommitterCheck; + this.commitCommitterNameCheck = $.commitCommitterNameCheck; + this.commitMessageNegativeRegex = $.commitMessageNegativeRegex; + this.commitMessageRegex = $.commitMessageRegex; + this.denyDeleteTag = $.denyDeleteTag; + this.fileNameRegex = $.fileNameRegex; + this.maxFileSize = $.maxFileSize; + this.memberCheck = $.memberCheck; + this.preventSecrets = $.preventSecrets; + this.project = $.project; + this.rejectUnsignedCommits = $.rejectUnsignedCommits; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProjectPushRulesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProjectPushRulesArgs $; + + public Builder() { + $ = new ProjectPushRulesArgs(); + } + + public Builder(ProjectPushRulesArgs defaults) { + $ = new ProjectPushRulesArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param authorEmailRegex All commit author emails must match this regex, e.g. `{@literal @}my-company.com$`. + * + * @return builder + * + */ + public Builder authorEmailRegex(@Nullable Output authorEmailRegex) { + $.authorEmailRegex = authorEmailRegex; + return this; + } + + /** + * @param authorEmailRegex All commit author emails must match this regex, e.g. `{@literal @}my-company.com$`. + * + * @return builder + * + */ + public Builder authorEmailRegex(String authorEmailRegex) { + return authorEmailRegex(Output.of(authorEmailRegex)); + } + + /** + * @param branchNameRegex All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + * + * @return builder + * + */ + public Builder branchNameRegex(@Nullable Output branchNameRegex) { + $.branchNameRegex = branchNameRegex; + return this; + } + + /** + * @param branchNameRegex All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + * + * @return builder + * + */ + public Builder branchNameRegex(String branchNameRegex) { + return branchNameRegex(Output.of(branchNameRegex)); + } + + /** + * @param commitCommitterCheck Users can only push commits to this repository that were committed with one of their own verified emails. + * + * @return builder + * + */ + public Builder commitCommitterCheck(@Nullable Output commitCommitterCheck) { + $.commitCommitterCheck = commitCommitterCheck; + return this; + } + + /** + * @param commitCommitterCheck Users can only push commits to this repository that were committed with one of their own verified emails. + * + * @return builder + * + */ + public Builder commitCommitterCheck(Boolean commitCommitterCheck) { + return commitCommitterCheck(Output.of(commitCommitterCheck)); + } + + /** + * @param commitCommitterNameCheck Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + * @return builder + * + */ + public Builder commitCommitterNameCheck(@Nullable Output commitCommitterNameCheck) { + $.commitCommitterNameCheck = commitCommitterNameCheck; + return this; + } + + /** + * @param commitCommitterNameCheck Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + * @return builder + * + */ + public Builder commitCommitterNameCheck(Boolean commitCommitterNameCheck) { + return commitCommitterNameCheck(Output.of(commitCommitterNameCheck)); + } + + /** + * @param commitMessageNegativeRegex No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + * + * @return builder + * + */ + public Builder commitMessageNegativeRegex(@Nullable Output commitMessageNegativeRegex) { + $.commitMessageNegativeRegex = commitMessageNegativeRegex; + return this; + } + + /** + * @param commitMessageNegativeRegex No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + * + * @return builder + * + */ + public Builder commitMessageNegativeRegex(String commitMessageNegativeRegex) { + return commitMessageNegativeRegex(Output.of(commitMessageNegativeRegex)); + } + + /** + * @param commitMessageRegex All commit messages must match this regex, e.g. `Fixed \d+\..*`. + * + * @return builder + * + */ + public Builder commitMessageRegex(@Nullable Output commitMessageRegex) { + $.commitMessageRegex = commitMessageRegex; + return this; + } + + /** + * @param commitMessageRegex All commit messages must match this regex, e.g. `Fixed \d+\..*`. + * + * @return builder + * + */ + public Builder commitMessageRegex(String commitMessageRegex) { + return commitMessageRegex(Output.of(commitMessageRegex)); + } + + /** + * @param denyDeleteTag Deny deleting a tag. + * + * @return builder + * + */ + public Builder denyDeleteTag(@Nullable Output denyDeleteTag) { + $.denyDeleteTag = denyDeleteTag; + return this; + } + + /** + * @param denyDeleteTag Deny deleting a tag. + * + * @return builder + * + */ + public Builder denyDeleteTag(Boolean denyDeleteTag) { + return denyDeleteTag(Output.of(denyDeleteTag)); + } + + /** + * @param fileNameRegex All committed filenames must not match this regex, e.g. `(jar|exe)$`. + * + * @return builder + * + */ + public Builder fileNameRegex(@Nullable Output fileNameRegex) { + $.fileNameRegex = fileNameRegex; + return this; + } + + /** + * @param fileNameRegex All committed filenames must not match this regex, e.g. `(jar|exe)$`. + * + * @return builder + * + */ + public Builder fileNameRegex(String fileNameRegex) { + return fileNameRegex(Output.of(fileNameRegex)); + } + + /** + * @param maxFileSize Maximum file size (MB). + * + * @return builder + * + */ + public Builder maxFileSize(@Nullable Output maxFileSize) { + $.maxFileSize = maxFileSize; + return this; + } + + /** + * @param maxFileSize Maximum file size (MB). + * + * @return builder + * + */ + public Builder maxFileSize(Integer maxFileSize) { + return maxFileSize(Output.of(maxFileSize)); + } + + /** + * @param memberCheck Restrict commits by author (email) to existing GitLab users. + * + * @return builder + * + */ + public Builder memberCheck(@Nullable Output memberCheck) { + $.memberCheck = memberCheck; + return this; + } + + /** + * @param memberCheck Restrict commits by author (email) to existing GitLab users. + * + * @return builder + * + */ + public Builder memberCheck(Boolean memberCheck) { + return memberCheck(Output.of(memberCheck)); + } + + /** + * @param preventSecrets GitLab will reject any files that are likely to contain secrets. + * + * @return builder + * + */ + public Builder preventSecrets(@Nullable Output preventSecrets) { + $.preventSecrets = preventSecrets; + return this; + } + + /** + * @param preventSecrets GitLab will reject any files that are likely to contain secrets. + * + * @return builder + * + */ + public Builder preventSecrets(Boolean preventSecrets) { + return preventSecrets(Output.of(preventSecrets)); + } + + /** + * @param project The ID or URL-encoded path of the project. + * + * @return builder + * + */ + public Builder project(Output project) { + $.project = project; + return this; + } + + /** + * @param project The ID or URL-encoded path of the project. + * + * @return builder + * + */ + public Builder project(String project) { + return project(Output.of(project)); + } + + /** + * @param rejectUnsignedCommits Reject commit when it’s not signed. + * + * @return builder + * + */ + public Builder rejectUnsignedCommits(@Nullable Output rejectUnsignedCommits) { + $.rejectUnsignedCommits = rejectUnsignedCommits; + return this; + } + + /** + * @param rejectUnsignedCommits Reject commit when it’s not signed. + * + * @return builder + * + */ + public Builder rejectUnsignedCommits(Boolean rejectUnsignedCommits) { + return rejectUnsignedCommits(Output.of(rejectUnsignedCommits)); + } + + public ProjectPushRulesArgs build() { + if ($.project == null) { + throw new MissingRequiredPropertyException("ProjectPushRulesArgs", "project"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectShareGroup.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectShareGroup.java index 34b14078..ba9c31f4 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectShareGroup.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectShareGroup.java @@ -69,7 +69,7 @@ @ResourceType(type="gitlab:index/projectShareGroup:ProjectShareGroup") public class ProjectShareGroup extends com.pulumi.resources.CustomResource { /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated * Use `group_access` instead of the `access_level` attribute. @@ -80,21 +80,21 @@ public class ProjectShareGroup extends com.pulumi.resources.CustomResource { private Output accessLevel; /** - * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Output> accessLevel() { return Codegen.optional(this.accessLevel); } /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Export(name="groupAccess", refs={String.class}, tree="[0]") private Output groupAccess; /** - * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Output> groupAccess() { diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectShareGroupArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectShareGroupArgs.java index f73a536b..5d30323a 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/ProjectShareGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/ProjectShareGroupArgs.java @@ -18,7 +18,7 @@ public final class ProjectShareGroupArgs extends com.pulumi.resources.ResourceAr public static final ProjectShareGroupArgs Empty = new ProjectShareGroupArgs(); /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated * Use `group_access` instead of the `access_level` attribute. @@ -29,7 +29,7 @@ public final class ProjectShareGroupArgs extends com.pulumi.resources.ResourceAr private @Nullable Output accessLevel; /** - * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated * Use `group_access` instead of the `access_level` attribute. @@ -41,14 +41,14 @@ public Optional> accessLevel() { } /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Import(name="groupAccess") private @Nullable Output groupAccess; /** - * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Optional> groupAccess() { @@ -113,7 +113,7 @@ public Builder(ProjectShareGroupArgs defaults) { } /** - * @param accessLevel The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -128,7 +128,7 @@ public Builder accessLevel(@Nullable Output accessLevel) { } /** - * @param accessLevel The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -142,7 +142,7 @@ public Builder accessLevel(String accessLevel) { } /** - * @param groupAccess The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -153,7 +153,7 @@ public Builder groupAccess(@Nullable Output groupAccess) { } /** - * @param groupAccess The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/UserRunner.java b/sdk/java/src/main/java/com/pulumi/gitlab/UserRunner.java index 21e64411..9a12b5a5 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/UserRunner.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/UserRunner.java @@ -22,6 +22,98 @@ * * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html#create-a-runner) * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.gitlab.UserRunner;
+ * import com.pulumi.gitlab.UserRunnerArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         // Create a project runner
+ *         var projectRunner = new UserRunner("projectRunner", UserRunnerArgs.builder()
+ *             .runnerType("project_type")
+ *             .projectId(123456)
+ *             .description("A runner created using a user access token instead of a registration token")
+ *             .tagLists(            
+ *                 "a-tag",
+ *                 "other-tag")
+ *             .untagged(true)
+ *             .build());
+ * 
+ *         // Create a group runner
+ *         var groupRunner = new UserRunner("groupRunner", UserRunnerArgs.builder()
+ *             .runnerType("group_type")
+ *             .groupId(123456)
+ *             .build());
+ * 
+ *         // Create a instance runner
+ *         var instanceRunner = new UserRunner("instanceRunner", UserRunnerArgs.builder()
+ *             .runnerType("instance_type")
+ *             .build());
+ * 
+ *         final var configToml = groupRunner.token().applyValue(token -> """
+ * concurrent = 1
+ * check_interval = 0
+ * 
+ * [session_server]
+ *   session_timeout = 1800
+ * 
+ * [[runners]]
+ *   name = "my_gitlab_runner"
+ *   url = "https://example.gitlab.com"
+ *   token = "%s"
+ *   executor = "docker"
+ * 
+ *   [runners.custom_build_dir]
+ *   [runners.cache]
+ *     [runners.cache.s3]
+ *     [runners.cache.gcs]
+ *     [runners.cache.azure]
+ *   [runners.docker]
+ *     tls_verify = false
+ *     image = "ubuntu"
+ *     privileged = true
+ *     disable_entrypoint_overwrite = false
+ *     oom_kill_disable = false
+ *     disable_cache = false
+ *     volumes = ["/cache", "/certs/client"]
+ *     shm_size = 0
+ * ", token));
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * You can import a gitlab runner using its ID + * + * Note: Importing a runner will not provide access to the `token` attribute + * + * ```sh + * $ pulumi import gitlab:index/userRunner:UserRunner example 12345 + * ``` + * */ @ResourceType(type="gitlab:index/userRunner:UserRunner") public class UserRunner extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ApplicationSettingsState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ApplicationSettingsState.java index 6a90b7a5..87d67bf8 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ApplicationSettingsState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ApplicationSettingsState.java @@ -2103,6 +2103,21 @@ public Optional> metricsMethodCallThreshold() { return Optional.ofNullable(this.metricsMethodCallThreshold); } + /** + * Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + * + */ + @Import(name="minimumPasswordLength") + private @Nullable Output minimumPasswordLength; + + /** + * @return Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + * + */ + public Optional> minimumPasswordLength() { + return Optional.ofNullable(this.minimumPasswordLength); + } + /** * Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. * @@ -3803,6 +3818,7 @@ private ApplicationSettingsState(ApplicationSettingsState $) { this.maxPersonalAccessTokenLifetime = $.maxPersonalAccessTokenLifetime; this.maxSshKeyLifetime = $.maxSshKeyLifetime; this.metricsMethodCallThreshold = $.metricsMethodCallThreshold; + this.minimumPasswordLength = $.minimumPasswordLength; this.mirrorAvailable = $.mirrorAvailable; this.mirrorCapacityThreshold = $.mirrorCapacityThreshold; this.mirrorMaxCapacity = $.mirrorMaxCapacity; @@ -6922,6 +6938,27 @@ public Builder metricsMethodCallThreshold(Integer metricsMethodCallThreshold) { return metricsMethodCallThreshold(Output.of(metricsMethodCallThreshold)); } + /** + * @param minimumPasswordLength Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + * + * @return builder + * + */ + public Builder minimumPasswordLength(@Nullable Output minimumPasswordLength) { + $.minimumPasswordLength = minimumPasswordLength; + return this; + } + + /** + * @param minimumPasswordLength Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + * + * @return builder + * + */ + public Builder minimumPasswordLength(Integer minimumPasswordLength) { + return minimumPasswordLength(Output.of(minimumPasswordLength)); + } + /** * @param mirrorAvailable Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupAccessTokenState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupAccessTokenState.java index 28a3963e..473fa005 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupAccessTokenState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupAccessTokenState.java @@ -20,14 +20,14 @@ public final class GroupAccessTokenState extends com.pulumi.resources.ResourceAr public static final GroupAccessTokenState Empty = new GroupAccessTokenState(); /** - * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ @Import(name="accessLevel") private @Nullable Output accessLevel; /** - * @return The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @return The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ public Optional> accessLevel() { @@ -219,7 +219,7 @@ public Builder(GroupAccessTokenState defaults) { } /** - * @param accessLevel The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @param accessLevel The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * * @return builder * @@ -230,7 +230,7 @@ public Builder accessLevel(@Nullable Output accessLevel) { } /** - * @param accessLevel The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @param accessLevel The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupLdapLinkState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupLdapLinkState.java index f3043049..3f640d4d 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupLdapLinkState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupLdapLinkState.java @@ -17,7 +17,7 @@ public final class GroupLdapLinkState extends com.pulumi.resources.ResourceArgs public static final GroupLdapLinkState Empty = new GroupLdapLinkState(); /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated * Use `group_access` instead of the `access_level` attribute. @@ -28,7 +28,7 @@ public final class GroupLdapLinkState extends com.pulumi.resources.ResourceArgs private @Nullable Output accessLevel; /** - * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated * Use `group_access` instead of the `access_level` attribute. @@ -100,14 +100,14 @@ public Optional> group() { } /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Import(name="groupAccess") private @Nullable Output groupAccess; /** - * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Optional> groupAccess() { @@ -160,7 +160,7 @@ public Builder(GroupLdapLinkState defaults) { } /** - * @param accessLevel Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -175,7 +175,7 @@ public Builder accessLevel(@Nullable Output accessLevel) { } /** - * @param accessLevel Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -273,7 +273,7 @@ public Builder group(String group) { } /** - * @param groupAccess Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -284,7 +284,7 @@ public Builder groupAccess(@Nullable Output groupAccess) { } /** - * @param groupAccess Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupMembershipState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupMembershipState.java index 901563e8..edbf75cc 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupMembershipState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupMembershipState.java @@ -18,14 +18,14 @@ public final class GroupMembershipState extends com.pulumi.resources.ResourceArg public static final GroupMembershipState Empty = new GroupMembershipState(); /** - * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. * */ @Import(name="accessLevel") private @Nullable Output accessLevel; /** - * @return Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * @return Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. * */ public Optional> accessLevel() { @@ -153,7 +153,7 @@ public Builder(GroupMembershipState defaults) { } /** - * @param accessLevel Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * @param accessLevel Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. * * @return builder * @@ -164,7 +164,7 @@ public Builder accessLevel(@Nullable Output accessLevel) { } /** - * @param accessLevel Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * @param accessLevel Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupProtectedEnvironmentState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupProtectedEnvironmentState.java index 471c7faf..f835510d 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupProtectedEnvironmentState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupProtectedEnvironmentState.java @@ -7,7 +7,6 @@ import com.pulumi.core.annotations.Import; import com.pulumi.gitlab.inputs.GroupProtectedEnvironmentApprovalRuleArgs; import com.pulumi.gitlab.inputs.GroupProtectedEnvironmentDeployAccessLevelArgs; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -79,21 +78,6 @@ public Optional> group() { return Optional.ofNullable(this.group); } - /** - * The number of approvals required to deploy to this environment. - * - */ - @Import(name="requiredApprovalCount") - private @Nullable Output requiredApprovalCount; - - /** - * @return The number of approvals required to deploy to this environment. - * - */ - public Optional> requiredApprovalCount() { - return Optional.ofNullable(this.requiredApprovalCount); - } - private GroupProtectedEnvironmentState() {} private GroupProtectedEnvironmentState(GroupProtectedEnvironmentState $) { @@ -101,7 +85,6 @@ private GroupProtectedEnvironmentState(GroupProtectedEnvironmentState $) { this.deployAccessLevels = $.deployAccessLevels; this.environment = $.environment; this.group = $.group; - this.requiredApprovalCount = $.requiredApprovalCount; } public static Builder builder() { @@ -226,27 +209,6 @@ public Builder group(String group) { return group(Output.of(group)); } - /** - * @param requiredApprovalCount The number of approvals required to deploy to this environment. - * - * @return builder - * - */ - public Builder requiredApprovalCount(@Nullable Output requiredApprovalCount) { - $.requiredApprovalCount = requiredApprovalCount; - return this; - } - - /** - * @param requiredApprovalCount The number of approvals required to deploy to this environment. - * - * @return builder - * - */ - public Builder requiredApprovalCount(Integer requiredApprovalCount) { - return requiredApprovalCount(Output.of(requiredApprovalCount)); - } - public GroupProtectedEnvironmentState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupPushRulesArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupPushRulesArgs.java index a93c9038..5dfa9827 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupPushRulesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupPushRulesArgs.java @@ -62,6 +62,21 @@ public Optional> commitCommitterCheck() { return Optional.ofNullable(this.commitCommitterCheck); } + /** + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + @Import(name="commitCommitterNameCheck") + private @Nullable Output commitCommitterNameCheck; + + /** + * @return Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + public Optional> commitCommitterNameCheck() { + return Optional.ofNullable(this.commitCommitterNameCheck); + } + /** * No commit message is allowed to match this regex, for example `ssh\:\/\/`. * @@ -188,6 +203,7 @@ private GroupPushRulesArgs(GroupPushRulesArgs $) { this.authorEmailRegex = $.authorEmailRegex; this.branchNameRegex = $.branchNameRegex; this.commitCommitterCheck = $.commitCommitterCheck; + this.commitCommitterNameCheck = $.commitCommitterNameCheck; this.commitMessageNegativeRegex = $.commitMessageNegativeRegex; this.commitMessageRegex = $.commitMessageRegex; this.denyDeleteTag = $.denyDeleteTag; @@ -279,6 +295,27 @@ public Builder commitCommitterCheck(Boolean commitCommitterCheck) { return commitCommitterCheck(Output.of(commitCommitterCheck)); } + /** + * @param commitCommitterNameCheck Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + * @return builder + * + */ + public Builder commitCommitterNameCheck(@Nullable Output commitCommitterNameCheck) { + $.commitCommitterNameCheck = commitCommitterNameCheck; + return this; + } + + /** + * @param commitCommitterNameCheck Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + * @return builder + * + */ + public Builder commitCommitterNameCheck(Boolean commitCommitterNameCheck) { + return commitCommitterNameCheck(Output.of(commitCommitterNameCheck)); + } + /** * @param commitMessageNegativeRegex No commit message is allowed to match this regex, for example `ssh\:\/\/`. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupShareGroupState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupShareGroupState.java index 9514c872..967dfd44 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupShareGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupShareGroupState.java @@ -32,14 +32,14 @@ public Optional> expiresAt() { } /** - * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Import(name="groupAccess") private @Nullable Output groupAccess; /** - * @return The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Optional> groupAccess() { @@ -125,7 +125,7 @@ public Builder expiresAt(String expiresAt) { } /** - * @param groupAccess The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -136,7 +136,7 @@ public Builder groupAccess(@Nullable Output groupAccess) { } /** - * @param groupAccess The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupState.java index ce2dd312..c1c585b1 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/GroupState.java @@ -109,29 +109,6 @@ public Optional> description() { return Optional.ofNullable(this.description); } - /** - * Disable email notifications. - * - * @deprecated - * use `emails_enabled` instead - * - */ - @Deprecated /* use `emails_enabled` instead */ - @Import(name="emailsDisabled") - private @Nullable Output emailsDisabled; - - /** - * @return Disable email notifications. - * - * @deprecated - * use `emails_enabled` instead - * - */ - @Deprecated /* use `emails_enabled` instead */ - public Optional> emailsDisabled() { - return Optional.ofNullable(this.emailsDisabled); - } - /** * Enable email notifications. * @@ -516,7 +493,6 @@ private GroupState(GroupState $) { this.avatarUrl = $.avatarUrl; this.defaultBranchProtection = $.defaultBranchProtection; this.description = $.description; - this.emailsDisabled = $.emailsDisabled; this.emailsEnabled = $.emailsEnabled; this.extraSharedRunnersMinutesLimit = $.extraSharedRunnersMinutesLimit; this.fullName = $.fullName; @@ -688,35 +664,6 @@ public Builder description(String description) { return description(Output.of(description)); } - /** - * @param emailsDisabled Disable email notifications. - * - * @return builder - * - * @deprecated - * use `emails_enabled` instead - * - */ - @Deprecated /* use `emails_enabled` instead */ - public Builder emailsDisabled(@Nullable Output emailsDisabled) { - $.emailsDisabled = emailsDisabled; - return this; - } - - /** - * @param emailsDisabled Disable email notifications. - * - * @return builder - * - * @deprecated - * use `emails_enabled` instead - * - */ - @Deprecated /* use `emails_enabled` instead */ - public Builder emailsDisabled(Boolean emailsDisabled) { - return emailsDisabled(Output.of(emailsDisabled)); - } - /** * @param emailsEnabled Enable email notifications. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/InstanceVariableState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/InstanceVariableState.java index 1628cb36..7e8d8183 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/InstanceVariableState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/InstanceVariableState.java @@ -16,6 +16,21 @@ public final class InstanceVariableState extends com.pulumi.resources.ResourceAr public static final InstanceVariableState Empty = new InstanceVariableState(); + /** + * The description of the variable. Maximum of 255 characters. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The description of the variable. Maximum of 255 characters. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + /** * The name of the variable. * @@ -109,6 +124,7 @@ public Optional> variableType() { private InstanceVariableState() {} private InstanceVariableState(InstanceVariableState $) { + this.description = $.description; this.key = $.key; this.masked = $.masked; this.protected_ = $.protected_; @@ -135,6 +151,27 @@ public Builder(InstanceVariableState defaults) { $ = new InstanceVariableState(Objects.requireNonNull(defaults)); } + /** + * @param description The description of the variable. Maximum of 255 characters. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The description of the variable. Maximum of 255 characters. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + /** * @param key The name of the variable. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/IntegrationJenkinsState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/IntegrationJenkinsState.java new file mode 100644 index 00000000..cf2a18f6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/IntegrationJenkinsState.java @@ -0,0 +1,417 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.gitlab.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationJenkinsState extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationJenkinsState Empty = new IntegrationJenkinsState(); + + /** + * Whether the integration is active. + * + */ + @Import(name="active") + private @Nullable Output active; + + /** + * @return Whether the integration is active. + * + */ + public Optional> active() { + return Optional.ofNullable(this.active); + } + + /** + * Enable SSL verification. Defaults to `true` (enabled). + * + */ + @Import(name="enableSslVerification") + private @Nullable Output enableSslVerification; + + /** + * @return Enable SSL verification. Defaults to `true` (enabled). + * + */ + public Optional> enableSslVerification() { + return Optional.ofNullable(this.enableSslVerification); + } + + /** + * Jenkins URL like `http://jenkins.example.com` + * + */ + @Import(name="jenkinsUrl") + private @Nullable Output jenkinsUrl; + + /** + * @return Jenkins URL like `http://jenkins.example.com` + * + */ + public Optional> jenkinsUrl() { + return Optional.ofNullable(this.jenkinsUrl); + } + + /** + * Enable notifications for merge request events. + * + */ + @Import(name="mergeRequestEvents") + private @Nullable Output mergeRequestEvents; + + /** + * @return Enable notifications for merge request events. + * + */ + public Optional> mergeRequestEvents() { + return Optional.ofNullable(this.mergeRequestEvents); + } + + /** + * Password for authentication with the Jenkins server, if authentication is required by the server. + * + */ + @Import(name="password") + private @Nullable Output password; + + /** + * @return Password for authentication with the Jenkins server, if authentication is required by the server. + * + */ + public Optional> password() { + return Optional.ofNullable(this.password); + } + + /** + * ID of the project you want to activate integration on. + * + */ + @Import(name="project") + private @Nullable Output project; + + /** + * @return ID of the project you want to activate integration on. + * + */ + public Optional> project() { + return Optional.ofNullable(this.project); + } + + /** + * The URL-friendly project name. Example: `my_project_name`. + * + */ + @Import(name="projectName") + private @Nullable Output projectName; + + /** + * @return The URL-friendly project name. Example: `my_project_name`. + * + */ + public Optional> projectName() { + return Optional.ofNullable(this.projectName); + } + + /** + * Enable notifications for push events. + * + */ + @Import(name="pushEvents") + private @Nullable Output pushEvents; + + /** + * @return Enable notifications for push events. + * + */ + public Optional> pushEvents() { + return Optional.ofNullable(this.pushEvents); + } + + /** + * Enable notifications for tag push events. + * + */ + @Import(name="tagPushEvents") + private @Nullable Output tagPushEvents; + + /** + * @return Enable notifications for tag push events. + * + */ + public Optional> tagPushEvents() { + return Optional.ofNullable(this.tagPushEvents); + } + + /** + * Username for authentication with the Jenkins server, if authentication is required by the server. + * + */ + @Import(name="username") + private @Nullable Output username; + + /** + * @return Username for authentication with the Jenkins server, if authentication is required by the server. + * + */ + public Optional> username() { + return Optional.ofNullable(this.username); + } + + private IntegrationJenkinsState() {} + + private IntegrationJenkinsState(IntegrationJenkinsState $) { + this.active = $.active; + this.enableSslVerification = $.enableSslVerification; + this.jenkinsUrl = $.jenkinsUrl; + this.mergeRequestEvents = $.mergeRequestEvents; + this.password = $.password; + this.project = $.project; + this.projectName = $.projectName; + this.pushEvents = $.pushEvents; + this.tagPushEvents = $.tagPushEvents; + this.username = $.username; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationJenkinsState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationJenkinsState $; + + public Builder() { + $ = new IntegrationJenkinsState(); + } + + public Builder(IntegrationJenkinsState defaults) { + $ = new IntegrationJenkinsState(Objects.requireNonNull(defaults)); + } + + /** + * @param active Whether the integration is active. + * + * @return builder + * + */ + public Builder active(@Nullable Output active) { + $.active = active; + return this; + } + + /** + * @param active Whether the integration is active. + * + * @return builder + * + */ + public Builder active(Boolean active) { + return active(Output.of(active)); + } + + /** + * @param enableSslVerification Enable SSL verification. Defaults to `true` (enabled). + * + * @return builder + * + */ + public Builder enableSslVerification(@Nullable Output enableSslVerification) { + $.enableSslVerification = enableSslVerification; + return this; + } + + /** + * @param enableSslVerification Enable SSL verification. Defaults to `true` (enabled). + * + * @return builder + * + */ + public Builder enableSslVerification(Boolean enableSslVerification) { + return enableSslVerification(Output.of(enableSslVerification)); + } + + /** + * @param jenkinsUrl Jenkins URL like `http://jenkins.example.com` + * + * @return builder + * + */ + public Builder jenkinsUrl(@Nullable Output jenkinsUrl) { + $.jenkinsUrl = jenkinsUrl; + return this; + } + + /** + * @param jenkinsUrl Jenkins URL like `http://jenkins.example.com` + * + * @return builder + * + */ + public Builder jenkinsUrl(String jenkinsUrl) { + return jenkinsUrl(Output.of(jenkinsUrl)); + } + + /** + * @param mergeRequestEvents Enable notifications for merge request events. + * + * @return builder + * + */ + public Builder mergeRequestEvents(@Nullable Output mergeRequestEvents) { + $.mergeRequestEvents = mergeRequestEvents; + return this; + } + + /** + * @param mergeRequestEvents Enable notifications for merge request events. + * + * @return builder + * + */ + public Builder mergeRequestEvents(Boolean mergeRequestEvents) { + return mergeRequestEvents(Output.of(mergeRequestEvents)); + } + + /** + * @param password Password for authentication with the Jenkins server, if authentication is required by the server. + * + * @return builder + * + */ + public Builder password(@Nullable Output password) { + $.password = password; + return this; + } + + /** + * @param password Password for authentication with the Jenkins server, if authentication is required by the server. + * + * @return builder + * + */ + public Builder password(String password) { + return password(Output.of(password)); + } + + /** + * @param project ID of the project you want to activate integration on. + * + * @return builder + * + */ + public Builder project(@Nullable Output project) { + $.project = project; + return this; + } + + /** + * @param project ID of the project you want to activate integration on. + * + * @return builder + * + */ + public Builder project(String project) { + return project(Output.of(project)); + } + + /** + * @param projectName The URL-friendly project name. Example: `my_project_name`. + * + * @return builder + * + */ + public Builder projectName(@Nullable Output projectName) { + $.projectName = projectName; + return this; + } + + /** + * @param projectName The URL-friendly project name. Example: `my_project_name`. + * + * @return builder + * + */ + public Builder projectName(String projectName) { + return projectName(Output.of(projectName)); + } + + /** + * @param pushEvents Enable notifications for push events. + * + * @return builder + * + */ + public Builder pushEvents(@Nullable Output pushEvents) { + $.pushEvents = pushEvents; + return this; + } + + /** + * @param pushEvents Enable notifications for push events. + * + * @return builder + * + */ + public Builder pushEvents(Boolean pushEvents) { + return pushEvents(Output.of(pushEvents)); + } + + /** + * @param tagPushEvents Enable notifications for tag push events. + * + * @return builder + * + */ + public Builder tagPushEvents(@Nullable Output tagPushEvents) { + $.tagPushEvents = tagPushEvents; + return this; + } + + /** + * @param tagPushEvents Enable notifications for tag push events. + * + * @return builder + * + */ + public Builder tagPushEvents(Boolean tagPushEvents) { + return tagPushEvents(Output.of(tagPushEvents)); + } + + /** + * @param username Username for authentication with the Jenkins server, if authentication is required by the server. + * + * @return builder + * + */ + public Builder username(@Nullable Output username) { + $.username = username; + return this; + } + + /** + * @param username Username for authentication with the Jenkins server, if authentication is required by the server. + * + * @return builder + * + */ + public Builder username(String username) { + return username(Output.of(username)); + } + + public IntegrationJenkinsState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineScheduleState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineScheduleState.java index 64fb1620..1a759b3e 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineScheduleState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineScheduleState.java @@ -123,14 +123,14 @@ public Optional> project() { } /** - * The branch/tag name to be triggered. + * The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. * */ @Import(name="ref") private @Nullable Output ref; /** - * @return The branch/tag name to be triggered. + * @return The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. * */ public Optional> ref() { @@ -324,7 +324,7 @@ public Builder project(String project) { } /** - * @param ref The branch/tag name to be triggered. + * @param ref The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. * * @return builder * @@ -335,7 +335,7 @@ public Builder ref(@Nullable Output ref) { } /** - * @param ref The branch/tag name to be triggered. + * @param ref The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineScheduleVariableState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineScheduleVariableState.java index a3827ee2..546a5a35 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineScheduleVariableState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineScheduleVariableState.java @@ -76,6 +76,21 @@ public Optional> value() { return Optional.ofNullable(this.value); } + /** + * The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + * + */ + @Import(name="variableType") + private @Nullable Output variableType; + + /** + * @return The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + * + */ + public Optional> variableType() { + return Optional.ofNullable(this.variableType); + } + private PipelineScheduleVariableState() {} private PipelineScheduleVariableState(PipelineScheduleVariableState $) { @@ -83,6 +98,7 @@ private PipelineScheduleVariableState(PipelineScheduleVariableState $) { this.pipelineScheduleId = $.pipelineScheduleId; this.project = $.project; this.value = $.value; + this.variableType = $.variableType; } public static Builder builder() { @@ -187,6 +203,27 @@ public Builder value(String value) { return value(Output.of(value)); } + /** + * @param variableType The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + * + * @return builder + * + */ + public Builder variableType(@Nullable Output variableType) { + $.variableType = variableType; + return this; + } + + /** + * @param variableType The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + * + * @return builder + * + */ + public Builder variableType(String variableType) { + return variableType(Output.of(variableType)); + } + public PipelineScheduleVariableState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineTriggerState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineTriggerState.java index b0d5f6e1..d64ff925 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineTriggerState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/PipelineTriggerState.java @@ -62,14 +62,14 @@ public Optional> project() { } /** - * The pipeline trigger token. + * The pipeline trigger token. This value is not available during import. * */ @Import(name="token") private @Nullable Output token; /** - * @return The pipeline trigger token. + * @return The pipeline trigger token. This value is not available during import. * */ public Optional> token() { @@ -167,7 +167,7 @@ public Builder project(String project) { } /** - * @param token The pipeline trigger token. + * @param token The pipeline trigger token. This value is not available during import. * * @return builder * @@ -178,7 +178,7 @@ public Builder token(@Nullable Output token) { } /** - * @param token The pipeline trigger token. + * @param token The pipeline trigger token. This value is not available during import. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectAccessTokenState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectAccessTokenState.java index 185d159c..c661393b 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectAccessTokenState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectAccessTokenState.java @@ -20,14 +20,14 @@ public final class ProjectAccessTokenState extends com.pulumi.resources.Resource public static final ProjectAccessTokenState Empty = new ProjectAccessTokenState(); /** - * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ @Import(name="accessLevel") private @Nullable Output accessLevel; /** - * @return The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @return The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * */ public Optional> accessLevel() { @@ -219,7 +219,7 @@ public Builder(ProjectAccessTokenState defaults) { } /** - * @param accessLevel The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @param accessLevel The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * * @return builder * @@ -230,7 +230,7 @@ public Builder accessLevel(@Nullable Output accessLevel) { } /** - * @param accessLevel The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * @param accessLevel The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectJobTokenScopesState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectJobTokenScopesState.java new file mode 100644 index 00000000..87e83f2b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectJobTokenScopesState.java @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.gitlab.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ProjectJobTokenScopesState extends com.pulumi.resources.ResourceArgs { + + public static final ProjectJobTokenScopesState Empty = new ProjectJobTokenScopesState(); + + /** + * The ID of the project. + * + */ + @Import(name="projectId") + private @Nullable Output projectId; + + /** + * @return The ID of the project. + * + */ + public Optional> projectId() { + return Optional.ofNullable(this.projectId); + } + + /** + * A set of project IDs that are in the CI/CD job token inbound allowlist. + * + */ + @Import(name="targetProjectIds") + private @Nullable Output> targetProjectIds; + + /** + * @return A set of project IDs that are in the CI/CD job token inbound allowlist. + * + */ + public Optional>> targetProjectIds() { + return Optional.ofNullable(this.targetProjectIds); + } + + private ProjectJobTokenScopesState() {} + + private ProjectJobTokenScopesState(ProjectJobTokenScopesState $) { + this.projectId = $.projectId; + this.targetProjectIds = $.targetProjectIds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProjectJobTokenScopesState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProjectJobTokenScopesState $; + + public Builder() { + $ = new ProjectJobTokenScopesState(); + } + + public Builder(ProjectJobTokenScopesState defaults) { + $ = new ProjectJobTokenScopesState(Objects.requireNonNull(defaults)); + } + + /** + * @param projectId The ID of the project. + * + * @return builder + * + */ + public Builder projectId(@Nullable Output projectId) { + $.projectId = projectId; + return this; + } + + /** + * @param projectId The ID of the project. + * + * @return builder + * + */ + public Builder projectId(Integer projectId) { + return projectId(Output.of(projectId)); + } + + /** + * @param targetProjectIds A set of project IDs that are in the CI/CD job token inbound allowlist. + * + * @return builder + * + */ + public Builder targetProjectIds(@Nullable Output> targetProjectIds) { + $.targetProjectIds = targetProjectIds; + return this; + } + + /** + * @param targetProjectIds A set of project IDs that are in the CI/CD job token inbound allowlist. + * + * @return builder + * + */ + public Builder targetProjectIds(List targetProjectIds) { + return targetProjectIds(Output.of(targetProjectIds)); + } + + /** + * @param targetProjectIds A set of project IDs that are in the CI/CD job token inbound allowlist. + * + * @return builder + * + */ + public Builder targetProjectIds(Integer... targetProjectIds) { + return targetProjectIds(List.of(targetProjectIds)); + } + + public ProjectJobTokenScopesState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectMembershipState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectMembershipState.java index 18fba96a..d06c6e29 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectMembershipState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectMembershipState.java @@ -17,14 +17,14 @@ public final class ProjectMembershipState extends com.pulumi.resources.ResourceA public static final ProjectMembershipState Empty = new ProjectMembershipState(); /** - * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Import(name="accessLevel") private @Nullable Output accessLevel; /** - * @return The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Optional> accessLevel() { @@ -104,7 +104,7 @@ public Builder(ProjectMembershipState defaults) { } /** - * @param accessLevel The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -115,7 +115,7 @@ public Builder accessLevel(@Nullable Output accessLevel) { } /** - * @param accessLevel The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectProtectedEnvironmentState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectProtectedEnvironmentState.java index 04a4c298..a38e74eb 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectProtectedEnvironmentState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectProtectedEnvironmentState.java @@ -7,7 +7,6 @@ import com.pulumi.core.annotations.Import; import com.pulumi.gitlab.inputs.ProjectProtectedEnvironmentApprovalRuleArgs; import com.pulumi.gitlab.inputs.ProjectProtectedEnvironmentDeployAccessLevelArgs; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -79,21 +78,6 @@ public Optional> project() { return Optional.ofNullable(this.project); } - /** - * The number of approvals required to deploy to this environment. - * - */ - @Import(name="requiredApprovalCount") - private @Nullable Output requiredApprovalCount; - - /** - * @return The number of approvals required to deploy to this environment. - * - */ - public Optional> requiredApprovalCount() { - return Optional.ofNullable(this.requiredApprovalCount); - } - private ProjectProtectedEnvironmentState() {} private ProjectProtectedEnvironmentState(ProjectProtectedEnvironmentState $) { @@ -101,7 +85,6 @@ private ProjectProtectedEnvironmentState(ProjectProtectedEnvironmentState $) { this.deployAccessLevels = $.deployAccessLevels; this.environment = $.environment; this.project = $.project; - this.requiredApprovalCount = $.requiredApprovalCount; } public static Builder builder() { @@ -226,27 +209,6 @@ public Builder project(String project) { return project(Output.of(project)); } - /** - * @param requiredApprovalCount The number of approvals required to deploy to this environment. - * - * @return builder - * - */ - public Builder requiredApprovalCount(@Nullable Output requiredApprovalCount) { - $.requiredApprovalCount = requiredApprovalCount; - return this; - } - - /** - * @param requiredApprovalCount The number of approvals required to deploy to this environment. - * - * @return builder - * - */ - public Builder requiredApprovalCount(Integer requiredApprovalCount) { - return requiredApprovalCount(Output.of(requiredApprovalCount)); - } - public ProjectProtectedEnvironmentState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectPushRulesArgs.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectPushRulesArgs.java index 9b77dea3..310ce4b6 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectPushRulesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectPushRulesArgs.java @@ -63,14 +63,29 @@ public Optional> commitCommitterCheck() { } /** - * No commit message is allowed to match this regex, for example `ssh\:\/\/`. + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + @Import(name="commitCommitterNameCheck") + private @Nullable Output commitCommitterNameCheck; + + /** + * @return Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + public Optional> commitCommitterNameCheck() { + return Optional.ofNullable(this.commitCommitterNameCheck); + } + + /** + * No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. * */ @Import(name="commitMessageNegativeRegex") private @Nullable Output commitMessageNegativeRegex; /** - * @return No commit message is allowed to match this regex, for example `ssh\:\/\/`. + * @return No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. * */ public Optional> commitMessageNegativeRegex() { @@ -188,6 +203,7 @@ private ProjectPushRulesArgs(ProjectPushRulesArgs $) { this.authorEmailRegex = $.authorEmailRegex; this.branchNameRegex = $.branchNameRegex; this.commitCommitterCheck = $.commitCommitterCheck; + this.commitCommitterNameCheck = $.commitCommitterNameCheck; this.commitMessageNegativeRegex = $.commitMessageNegativeRegex; this.commitMessageRegex = $.commitMessageRegex; this.denyDeleteTag = $.denyDeleteTag; @@ -280,7 +296,28 @@ public Builder commitCommitterCheck(Boolean commitCommitterCheck) { } /** - * @param commitMessageNegativeRegex No commit message is allowed to match this regex, for example `ssh\:\/\/`. + * @param commitCommitterNameCheck Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + * @return builder + * + */ + public Builder commitCommitterNameCheck(@Nullable Output commitCommitterNameCheck) { + $.commitCommitterNameCheck = commitCommitterNameCheck; + return this; + } + + /** + * @param commitCommitterNameCheck Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + * @return builder + * + */ + public Builder commitCommitterNameCheck(Boolean commitCommitterNameCheck) { + return commitCommitterNameCheck(Output.of(commitCommitterNameCheck)); + } + + /** + * @param commitMessageNegativeRegex No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. * * @return builder * @@ -291,7 +328,7 @@ public Builder commitMessageNegativeRegex(@Nullable Output commitMessage } /** - * @param commitMessageNegativeRegex No commit message is allowed to match this regex, for example `ssh\:\/\/`. + * @param commitMessageNegativeRegex No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectPushRulesState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectPushRulesState.java new file mode 100644 index 00000000..6351672f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectPushRulesState.java @@ -0,0 +1,529 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.gitlab.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ProjectPushRulesState extends com.pulumi.resources.ResourceArgs { + + public static final ProjectPushRulesState Empty = new ProjectPushRulesState(); + + /** + * All commit author emails must match this regex, e.g. `{@literal @}my-company.com$`. + * + */ + @Import(name="authorEmailRegex") + private @Nullable Output authorEmailRegex; + + /** + * @return All commit author emails must match this regex, e.g. `{@literal @}my-company.com$`. + * + */ + public Optional> authorEmailRegex() { + return Optional.ofNullable(this.authorEmailRegex); + } + + /** + * All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + * + */ + @Import(name="branchNameRegex") + private @Nullable Output branchNameRegex; + + /** + * @return All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + * + */ + public Optional> branchNameRegex() { + return Optional.ofNullable(this.branchNameRegex); + } + + /** + * Users can only push commits to this repository that were committed with one of their own verified emails. + * + */ + @Import(name="commitCommitterCheck") + private @Nullable Output commitCommitterCheck; + + /** + * @return Users can only push commits to this repository that were committed with one of their own verified emails. + * + */ + public Optional> commitCommitterCheck() { + return Optional.ofNullable(this.commitCommitterCheck); + } + + /** + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + @Import(name="commitCommitterNameCheck") + private @Nullable Output commitCommitterNameCheck; + + /** + * @return Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + public Optional> commitCommitterNameCheck() { + return Optional.ofNullable(this.commitCommitterNameCheck); + } + + /** + * No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + * + */ + @Import(name="commitMessageNegativeRegex") + private @Nullable Output commitMessageNegativeRegex; + + /** + * @return No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + * + */ + public Optional> commitMessageNegativeRegex() { + return Optional.ofNullable(this.commitMessageNegativeRegex); + } + + /** + * All commit messages must match this regex, e.g. `Fixed \d+\..*`. + * + */ + @Import(name="commitMessageRegex") + private @Nullable Output commitMessageRegex; + + /** + * @return All commit messages must match this regex, e.g. `Fixed \d+\..*`. + * + */ + public Optional> commitMessageRegex() { + return Optional.ofNullable(this.commitMessageRegex); + } + + /** + * Deny deleting a tag. + * + */ + @Import(name="denyDeleteTag") + private @Nullable Output denyDeleteTag; + + /** + * @return Deny deleting a tag. + * + */ + public Optional> denyDeleteTag() { + return Optional.ofNullable(this.denyDeleteTag); + } + + /** + * All committed filenames must not match this regex, e.g. `(jar|exe)$`. + * + */ + @Import(name="fileNameRegex") + private @Nullable Output fileNameRegex; + + /** + * @return All committed filenames must not match this regex, e.g. `(jar|exe)$`. + * + */ + public Optional> fileNameRegex() { + return Optional.ofNullable(this.fileNameRegex); + } + + /** + * Maximum file size (MB). + * + */ + @Import(name="maxFileSize") + private @Nullable Output maxFileSize; + + /** + * @return Maximum file size (MB). + * + */ + public Optional> maxFileSize() { + return Optional.ofNullable(this.maxFileSize); + } + + /** + * Restrict commits by author (email) to existing GitLab users. + * + */ + @Import(name="memberCheck") + private @Nullable Output memberCheck; + + /** + * @return Restrict commits by author (email) to existing GitLab users. + * + */ + public Optional> memberCheck() { + return Optional.ofNullable(this.memberCheck); + } + + /** + * GitLab will reject any files that are likely to contain secrets. + * + */ + @Import(name="preventSecrets") + private @Nullable Output preventSecrets; + + /** + * @return GitLab will reject any files that are likely to contain secrets. + * + */ + public Optional> preventSecrets() { + return Optional.ofNullable(this.preventSecrets); + } + + /** + * The ID or URL-encoded path of the project. + * + */ + @Import(name="project") + private @Nullable Output project; + + /** + * @return The ID or URL-encoded path of the project. + * + */ + public Optional> project() { + return Optional.ofNullable(this.project); + } + + /** + * Reject commit when it’s not signed. + * + */ + @Import(name="rejectUnsignedCommits") + private @Nullable Output rejectUnsignedCommits; + + /** + * @return Reject commit when it’s not signed. + * + */ + public Optional> rejectUnsignedCommits() { + return Optional.ofNullable(this.rejectUnsignedCommits); + } + + private ProjectPushRulesState() {} + + private ProjectPushRulesState(ProjectPushRulesState $) { + this.authorEmailRegex = $.authorEmailRegex; + this.branchNameRegex = $.branchNameRegex; + this.commitCommitterCheck = $.commitCommitterCheck; + this.commitCommitterNameCheck = $.commitCommitterNameCheck; + this.commitMessageNegativeRegex = $.commitMessageNegativeRegex; + this.commitMessageRegex = $.commitMessageRegex; + this.denyDeleteTag = $.denyDeleteTag; + this.fileNameRegex = $.fileNameRegex; + this.maxFileSize = $.maxFileSize; + this.memberCheck = $.memberCheck; + this.preventSecrets = $.preventSecrets; + this.project = $.project; + this.rejectUnsignedCommits = $.rejectUnsignedCommits; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProjectPushRulesState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProjectPushRulesState $; + + public Builder() { + $ = new ProjectPushRulesState(); + } + + public Builder(ProjectPushRulesState defaults) { + $ = new ProjectPushRulesState(Objects.requireNonNull(defaults)); + } + + /** + * @param authorEmailRegex All commit author emails must match this regex, e.g. `{@literal @}my-company.com$`. + * + * @return builder + * + */ + public Builder authorEmailRegex(@Nullable Output authorEmailRegex) { + $.authorEmailRegex = authorEmailRegex; + return this; + } + + /** + * @param authorEmailRegex All commit author emails must match this regex, e.g. `{@literal @}my-company.com$`. + * + * @return builder + * + */ + public Builder authorEmailRegex(String authorEmailRegex) { + return authorEmailRegex(Output.of(authorEmailRegex)); + } + + /** + * @param branchNameRegex All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + * + * @return builder + * + */ + public Builder branchNameRegex(@Nullable Output branchNameRegex) { + $.branchNameRegex = branchNameRegex; + return this; + } + + /** + * @param branchNameRegex All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + * + * @return builder + * + */ + public Builder branchNameRegex(String branchNameRegex) { + return branchNameRegex(Output.of(branchNameRegex)); + } + + /** + * @param commitCommitterCheck Users can only push commits to this repository that were committed with one of their own verified emails. + * + * @return builder + * + */ + public Builder commitCommitterCheck(@Nullable Output commitCommitterCheck) { + $.commitCommitterCheck = commitCommitterCheck; + return this; + } + + /** + * @param commitCommitterCheck Users can only push commits to this repository that were committed with one of their own verified emails. + * + * @return builder + * + */ + public Builder commitCommitterCheck(Boolean commitCommitterCheck) { + return commitCommitterCheck(Output.of(commitCommitterCheck)); + } + + /** + * @param commitCommitterNameCheck Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + * @return builder + * + */ + public Builder commitCommitterNameCheck(@Nullable Output commitCommitterNameCheck) { + $.commitCommitterNameCheck = commitCommitterNameCheck; + return this; + } + + /** + * @param commitCommitterNameCheck Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + * @return builder + * + */ + public Builder commitCommitterNameCheck(Boolean commitCommitterNameCheck) { + return commitCommitterNameCheck(Output.of(commitCommitterNameCheck)); + } + + /** + * @param commitMessageNegativeRegex No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + * + * @return builder + * + */ + public Builder commitMessageNegativeRegex(@Nullable Output commitMessageNegativeRegex) { + $.commitMessageNegativeRegex = commitMessageNegativeRegex; + return this; + } + + /** + * @param commitMessageNegativeRegex No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + * + * @return builder + * + */ + public Builder commitMessageNegativeRegex(String commitMessageNegativeRegex) { + return commitMessageNegativeRegex(Output.of(commitMessageNegativeRegex)); + } + + /** + * @param commitMessageRegex All commit messages must match this regex, e.g. `Fixed \d+\..*`. + * + * @return builder + * + */ + public Builder commitMessageRegex(@Nullable Output commitMessageRegex) { + $.commitMessageRegex = commitMessageRegex; + return this; + } + + /** + * @param commitMessageRegex All commit messages must match this regex, e.g. `Fixed \d+\..*`. + * + * @return builder + * + */ + public Builder commitMessageRegex(String commitMessageRegex) { + return commitMessageRegex(Output.of(commitMessageRegex)); + } + + /** + * @param denyDeleteTag Deny deleting a tag. + * + * @return builder + * + */ + public Builder denyDeleteTag(@Nullable Output denyDeleteTag) { + $.denyDeleteTag = denyDeleteTag; + return this; + } + + /** + * @param denyDeleteTag Deny deleting a tag. + * + * @return builder + * + */ + public Builder denyDeleteTag(Boolean denyDeleteTag) { + return denyDeleteTag(Output.of(denyDeleteTag)); + } + + /** + * @param fileNameRegex All committed filenames must not match this regex, e.g. `(jar|exe)$`. + * + * @return builder + * + */ + public Builder fileNameRegex(@Nullable Output fileNameRegex) { + $.fileNameRegex = fileNameRegex; + return this; + } + + /** + * @param fileNameRegex All committed filenames must not match this regex, e.g. `(jar|exe)$`. + * + * @return builder + * + */ + public Builder fileNameRegex(String fileNameRegex) { + return fileNameRegex(Output.of(fileNameRegex)); + } + + /** + * @param maxFileSize Maximum file size (MB). + * + * @return builder + * + */ + public Builder maxFileSize(@Nullable Output maxFileSize) { + $.maxFileSize = maxFileSize; + return this; + } + + /** + * @param maxFileSize Maximum file size (MB). + * + * @return builder + * + */ + public Builder maxFileSize(Integer maxFileSize) { + return maxFileSize(Output.of(maxFileSize)); + } + + /** + * @param memberCheck Restrict commits by author (email) to existing GitLab users. + * + * @return builder + * + */ + public Builder memberCheck(@Nullable Output memberCheck) { + $.memberCheck = memberCheck; + return this; + } + + /** + * @param memberCheck Restrict commits by author (email) to existing GitLab users. + * + * @return builder + * + */ + public Builder memberCheck(Boolean memberCheck) { + return memberCheck(Output.of(memberCheck)); + } + + /** + * @param preventSecrets GitLab will reject any files that are likely to contain secrets. + * + * @return builder + * + */ + public Builder preventSecrets(@Nullable Output preventSecrets) { + $.preventSecrets = preventSecrets; + return this; + } + + /** + * @param preventSecrets GitLab will reject any files that are likely to contain secrets. + * + * @return builder + * + */ + public Builder preventSecrets(Boolean preventSecrets) { + return preventSecrets(Output.of(preventSecrets)); + } + + /** + * @param project The ID or URL-encoded path of the project. + * + * @return builder + * + */ + public Builder project(@Nullable Output project) { + $.project = project; + return this; + } + + /** + * @param project The ID or URL-encoded path of the project. + * + * @return builder + * + */ + public Builder project(String project) { + return project(Output.of(project)); + } + + /** + * @param rejectUnsignedCommits Reject commit when it’s not signed. + * + * @return builder + * + */ + public Builder rejectUnsignedCommits(@Nullable Output rejectUnsignedCommits) { + $.rejectUnsignedCommits = rejectUnsignedCommits; + return this; + } + + /** + * @param rejectUnsignedCommits Reject commit when it’s not signed. + * + * @return builder + * + */ + public Builder rejectUnsignedCommits(Boolean rejectUnsignedCommits) { + return rejectUnsignedCommits(Output.of(rejectUnsignedCommits)); + } + + public ProjectPushRulesState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectShareGroupState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectShareGroupState.java index adbe9354..8511f8d3 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectShareGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectShareGroupState.java @@ -17,7 +17,7 @@ public final class ProjectShareGroupState extends com.pulumi.resources.ResourceA public static final ProjectShareGroupState Empty = new ProjectShareGroupState(); /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated * Use `group_access` instead of the `access_level` attribute. @@ -28,7 +28,7 @@ public final class ProjectShareGroupState extends com.pulumi.resources.ResourceA private @Nullable Output accessLevel; /** - * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated * Use `group_access` instead of the `access_level` attribute. @@ -40,14 +40,14 @@ public Optional> accessLevel() { } /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ @Import(name="groupAccess") private @Nullable Output groupAccess; /** - * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @return The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * */ public Optional> groupAccess() { @@ -112,7 +112,7 @@ public Builder(ProjectShareGroupState defaults) { } /** - * @param accessLevel The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -127,7 +127,7 @@ public Builder accessLevel(@Nullable Output accessLevel) { } /** - * @param accessLevel The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param accessLevel The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -141,7 +141,7 @@ public Builder accessLevel(String accessLevel) { } /** - * @param groupAccess The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * @@ -152,7 +152,7 @@ public Builder groupAccess(@Nullable Output groupAccess) { } /** - * @param groupAccess The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * @param groupAccess The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectState.java b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectState.java index 355651c6..f6f79fed 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectState.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/inputs/ProjectState.java @@ -432,29 +432,6 @@ public Optional> description() { return Optional.ofNullable(this.description); } - /** - * Disable email notifications. - * - * @deprecated - * use `emails_enabled` instead. - * - */ - @Deprecated /* use `emails_enabled` instead. */ - @Import(name="emailsDisabled") - private @Nullable Output emailsDisabled; - - /** - * @return Disable email notifications. - * - * @deprecated - * use `emails_enabled` instead. - * - */ - @Deprecated /* use `emails_enabled` instead. */ - public Optional> emailsDisabled() { - return Optional.ofNullable(this.emailsDisabled); - } - /** * Enable email notifications. * @@ -1603,7 +1580,6 @@ private ProjectState(ProjectState $) { this.containerRegistryEnabled = $.containerRegistryEnabled; this.defaultBranch = $.defaultBranch; this.description = $.description; - this.emailsDisabled = $.emailsDisabled; this.emailsEnabled = $.emailsEnabled; this.emptyRepo = $.emptyRepo; this.environmentsAccessLevel = $.environmentsAccessLevel; @@ -2265,35 +2241,6 @@ public Builder description(String description) { return description(Output.of(description)); } - /** - * @param emailsDisabled Disable email notifications. - * - * @return builder - * - * @deprecated - * use `emails_enabled` instead. - * - */ - @Deprecated /* use `emails_enabled` instead. */ - public Builder emailsDisabled(@Nullable Output emailsDisabled) { - $.emailsDisabled = emailsDisabled; - return this; - } - - /** - * @param emailsDisabled Disable email notifications. - * - * @return builder - * - * @deprecated - * use `emails_enabled` instead. - * - */ - @Deprecated /* use `emails_enabled` instead. */ - public Builder emailsDisabled(Boolean emailsDisabled) { - return emailsDisabled(Output.of(emailsDisabled)); - } - /** * @param emailsEnabled Enable email notifications. * diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetGroupSubgroupsSubgroup.java b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetGroupSubgroupsSubgroup.java index 569dbf19..00894a76 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetGroupSubgroupsSubgroup.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetGroupSubgroupsSubgroup.java @@ -18,7 +18,6 @@ public final class GetGroupSubgroupsSubgroup { private String createdAt; private Integer defaultBranchProtection; private String description; - private Boolean emailsDisabled; private Boolean emailsEnabled; private Integer fileTemplateProjectId; private String fullName; @@ -58,9 +57,6 @@ public Integer defaultBranchProtection() { public String description() { return this.description; } - public Boolean emailsDisabled() { - return this.emailsDisabled; - } public Boolean emailsEnabled() { return this.emailsEnabled; } @@ -142,7 +138,6 @@ public static final class Builder { private String createdAt; private Integer defaultBranchProtection; private String description; - private Boolean emailsDisabled; private Boolean emailsEnabled; private Integer fileTemplateProjectId; private String fullName; @@ -173,7 +168,6 @@ public Builder(GetGroupSubgroupsSubgroup defaults) { this.createdAt = defaults.createdAt; this.defaultBranchProtection = defaults.defaultBranchProtection; this.description = defaults.description; - this.emailsDisabled = defaults.emailsDisabled; this.emailsEnabled = defaults.emailsEnabled; this.fileTemplateProjectId = defaults.fileTemplateProjectId; this.fullName = defaults.fullName; @@ -239,14 +233,6 @@ public Builder description(String description) { return this; } @CustomType.Setter - public Builder emailsDisabled(Boolean emailsDisabled) { - if (emailsDisabled == null) { - throw new MissingRequiredPropertyException("GetGroupSubgroupsSubgroup", "emailsDisabled"); - } - this.emailsDisabled = emailsDisabled; - return this; - } - @CustomType.Setter public Builder emailsEnabled(Boolean emailsEnabled) { if (emailsEnabled == null) { throw new MissingRequiredPropertyException("GetGroupSubgroupsSubgroup", "emailsEnabled"); @@ -429,7 +415,6 @@ public GetGroupSubgroupsSubgroup build() { _resultValue.createdAt = createdAt; _resultValue.defaultBranchProtection = defaultBranchProtection; _resultValue.description = description; - _resultValue.emailsDisabled = emailsDisabled; _resultValue.emailsEnabled = emailsEnabled; _resultValue.fileTemplateProjectId = fileTemplateProjectId; _resultValue.fullName = fullName; diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetInstanceVariableResult.java b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetInstanceVariableResult.java index 3c1f7aec..6ba55fac 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetInstanceVariableResult.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetInstanceVariableResult.java @@ -11,6 +11,11 @@ @CustomType public final class GetInstanceVariableResult { + /** + * @return The description of the variable. Maximum of 255 characters. + * + */ + private String description; /** * @return The provider-assigned unique ID for this managed resource. * @@ -48,6 +53,13 @@ public final class GetInstanceVariableResult { private String variableType; private GetInstanceVariableResult() {} + /** + * @return The description of the variable. Maximum of 255 characters. + * + */ + public String description() { + return this.description; + } /** * @return The provider-assigned unique ID for this managed resource. * @@ -107,6 +119,7 @@ public static Builder builder(GetInstanceVariableResult defaults) { } @CustomType.Builder public static final class Builder { + private String description; private String id; private String key; private Boolean masked; @@ -117,6 +130,7 @@ public static final class Builder { public Builder() {} public Builder(GetInstanceVariableResult defaults) { Objects.requireNonNull(defaults); + this.description = defaults.description; this.id = defaults.id; this.key = defaults.key; this.masked = defaults.masked; @@ -126,6 +140,14 @@ public Builder(GetInstanceVariableResult defaults) { this.variableType = defaults.variableType; } + @CustomType.Setter + public Builder description(String description) { + if (description == null) { + throw new MissingRequiredPropertyException("GetInstanceVariableResult", "description"); + } + this.description = description; + return this; + } @CustomType.Setter public Builder id(String id) { if (id == null) { @@ -184,6 +206,7 @@ public Builder variableType(String variableType) { } public GetInstanceVariableResult build() { final var _resultValue = new GetInstanceVariableResult(); + _resultValue.description = description; _resultValue.id = id; _resultValue.key = key; _resultValue.masked = masked; diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetInstanceVariablesVariable.java b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetInstanceVariablesVariable.java index ff195625..35cb9b79 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetInstanceVariablesVariable.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetInstanceVariablesVariable.java @@ -11,6 +11,11 @@ @CustomType public final class GetInstanceVariablesVariable { + /** + * @return The description of the variable. Maximum of 255 characters. + * + */ + private String description; /** * @return The name of the variable. * @@ -43,6 +48,13 @@ public final class GetInstanceVariablesVariable { private String variableType; private GetInstanceVariablesVariable() {} + /** + * @return The description of the variable. Maximum of 255 characters. + * + */ + public String description() { + return this.description; + } /** * @return The name of the variable. * @@ -95,6 +107,7 @@ public static Builder builder(GetInstanceVariablesVariable defaults) { } @CustomType.Builder public static final class Builder { + private String description; private String key; private Boolean masked; private Boolean protected_; @@ -104,6 +117,7 @@ public static final class Builder { public Builder() {} public Builder(GetInstanceVariablesVariable defaults) { Objects.requireNonNull(defaults); + this.description = defaults.description; this.key = defaults.key; this.masked = defaults.masked; this.protected_ = defaults.protected_; @@ -112,6 +126,14 @@ public Builder(GetInstanceVariablesVariable defaults) { this.variableType = defaults.variableType; } + @CustomType.Setter + public Builder description(String description) { + if (description == null) { + throw new MissingRequiredPropertyException("GetInstanceVariablesVariable", "description"); + } + this.description = description; + return this; + } @CustomType.Setter public Builder key(String key) { if (key == null) { @@ -162,6 +184,7 @@ public Builder variableType(String variableType) { } public GetInstanceVariablesVariable build() { final var _resultValue = new GetInstanceVariablesVariable(); + _resultValue.description = description; _resultValue.key = key; _resultValue.masked = masked; _resultValue.protected_ = protected_; diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectPushRule.java b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectPushRule.java index b7d60ba2..c4369370 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectPushRule.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectPushRule.java @@ -27,6 +27,11 @@ public final class GetProjectPushRule { * */ private Boolean commitCommitterCheck; + /** + * @return Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + private Boolean commitCommitterNameCheck; /** * @return No commit message is allowed to match this regex, for example `ssh\:\/\/`. * @@ -90,6 +95,13 @@ public String branchNameRegex() { public Boolean commitCommitterCheck() { return this.commitCommitterCheck; } + /** + * @return Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + public Boolean commitCommitterNameCheck() { + return this.commitCommitterNameCheck; + } /** * @return No commit message is allowed to match this regex, for example `ssh\:\/\/`. * @@ -159,6 +171,7 @@ public static final class Builder { private String authorEmailRegex; private String branchNameRegex; private Boolean commitCommitterCheck; + private Boolean commitCommitterNameCheck; private String commitMessageNegativeRegex; private String commitMessageRegex; private Boolean denyDeleteTag; @@ -173,6 +186,7 @@ public Builder(GetProjectPushRule defaults) { this.authorEmailRegex = defaults.authorEmailRegex; this.branchNameRegex = defaults.branchNameRegex; this.commitCommitterCheck = defaults.commitCommitterCheck; + this.commitCommitterNameCheck = defaults.commitCommitterNameCheck; this.commitMessageNegativeRegex = defaults.commitMessageNegativeRegex; this.commitMessageRegex = defaults.commitMessageRegex; this.denyDeleteTag = defaults.denyDeleteTag; @@ -208,6 +222,14 @@ public Builder commitCommitterCheck(Boolean commitCommitterCheck) { return this; } @CustomType.Setter + public Builder commitCommitterNameCheck(Boolean commitCommitterNameCheck) { + if (commitCommitterNameCheck == null) { + throw new MissingRequiredPropertyException("GetProjectPushRule", "commitCommitterNameCheck"); + } + this.commitCommitterNameCheck = commitCommitterNameCheck; + return this; + } + @CustomType.Setter public Builder commitMessageNegativeRegex(String commitMessageNegativeRegex) { if (commitMessageNegativeRegex == null) { throw new MissingRequiredPropertyException("GetProjectPushRule", "commitMessageNegativeRegex"); @@ -276,6 +298,7 @@ public GetProjectPushRule build() { _resultValue.authorEmailRegex = authorEmailRegex; _resultValue.branchNameRegex = branchNameRegex; _resultValue.commitCommitterCheck = commitCommitterCheck; + _resultValue.commitCommitterNameCheck = commitCommitterNameCheck; _resultValue.commitMessageNegativeRegex = commitMessageNegativeRegex; _resultValue.commitMessageRegex = commitMessageRegex; _resultValue.denyDeleteTag = denyDeleteTag; diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectResult.java b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectResult.java index e99695f0..67f70336 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectResult.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectResult.java @@ -103,15 +103,6 @@ public final class GetProjectResult { * */ private String description; - /** - * @return Disable email notifications. - * - * @deprecated - * Use of `emails_disabled` is deprecated. Use `emails_enabled` instead. - * - */ - @Deprecated /* Use of `emails_disabled` is deprecated. Use `emails_enabled` instead. */ - private Boolean emailsDisabled; /** * @return Enable email notifications. * @@ -478,17 +469,6 @@ public String defaultBranch() { public String description() { return this.description; } - /** - * @return Disable email notifications. - * - * @deprecated - * Use of `emails_disabled` is deprecated. Use `emails_enabled` instead. - * - */ - @Deprecated /* Use of `emails_disabled` is deprecated. Use `emails_enabled` instead. */ - public Boolean emailsDisabled() { - return this.emailsDisabled; - } /** * @return Enable email notifications. * @@ -859,7 +839,6 @@ public static final class Builder { private String containerRegistryAccessLevel; private String defaultBranch; private String description; - private Boolean emailsDisabled; private Boolean emailsEnabled; private Boolean emptyRepo; private String environmentsAccessLevel; @@ -929,7 +908,6 @@ public Builder(GetProjectResult defaults) { this.containerRegistryAccessLevel = defaults.containerRegistryAccessLevel; this.defaultBranch = defaults.defaultBranch; this.description = defaults.description; - this.emailsDisabled = defaults.emailsDisabled; this.emailsEnabled = defaults.emailsEnabled; this.emptyRepo = defaults.emptyRepo; this.environmentsAccessLevel = defaults.environmentsAccessLevel; @@ -1121,14 +1099,6 @@ public Builder description(String description) { return this; } @CustomType.Setter - public Builder emailsDisabled(Boolean emailsDisabled) { - if (emailsDisabled == null) { - throw new MissingRequiredPropertyException("GetProjectResult", "emailsDisabled"); - } - this.emailsDisabled = emailsDisabled; - return this; - } - @CustomType.Setter public Builder emailsEnabled(Boolean emailsEnabled) { if (emailsEnabled == null) { throw new MissingRequiredPropertyException("GetProjectResult", "emailsEnabled"); @@ -1546,7 +1516,6 @@ public GetProjectResult build() { _resultValue.containerRegistryAccessLevel = containerRegistryAccessLevel; _resultValue.defaultBranch = defaultBranch; _resultValue.description = description; - _resultValue.emailsDisabled = emailsDisabled; _resultValue.emailsEnabled = emailsEnabled; _resultValue.emptyRepo = emptyRepo; _resultValue.environmentsAccessLevel = environmentsAccessLevel; diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectsProject.java b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectsProject.java index c636e2cf..bbe37808 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectsProject.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GetProjectsProject.java @@ -150,15 +150,6 @@ public final class GetProjectsProject { * */ private String description; - /** - * @return Disable email notifications. - * - * @deprecated - * Use of `emails_disabled` is deprecated. Use `emails_enabled` instead. - * - */ - @Deprecated /* Use of `emails_disabled` is deprecated. Use `emails_enabled` instead. */ - private Boolean emailsDisabled; /** * @return Enable email notifications. * @@ -375,11 +366,6 @@ public final class GetProjectsProject { * */ private List permissions; - /** - * @return Whether the project is public. - * - */ - private Boolean public_; /** * @return Whether public builds are enabled for the project. * @@ -694,17 +680,6 @@ public String defaultBranch() { public String description() { return this.description; } - /** - * @return Disable email notifications. - * - * @deprecated - * Use of `emails_disabled` is deprecated. Use `emails_enabled` instead. - * - */ - @Deprecated /* Use of `emails_disabled` is deprecated. Use `emails_enabled` instead. */ - public Boolean emailsDisabled() { - return this.emailsDisabled; - } /** * @return Enable email notifications. * @@ -1009,13 +984,6 @@ public String pathWithNamespace() { public List permissions() { return this.permissions; } - /** - * @return Whether the project is public. - * - */ - public Boolean public_() { - return this.public_; - } /** * @return Whether public builds are enabled for the project. * @@ -1234,7 +1202,6 @@ public static final class Builder { private List> customAttributes; private String defaultBranch; private String description; - private Boolean emailsDisabled; private Boolean emailsEnabled; private Boolean emptyRepo; private String environmentsAccessLevel; @@ -1279,7 +1246,6 @@ public static final class Builder { private String path; private String pathWithNamespace; private List permissions; - private Boolean public_; private Boolean publicBuilds; private String readmeUrl; private String releasesAccessLevel; @@ -1335,7 +1301,6 @@ public Builder(GetProjectsProject defaults) { this.customAttributes = defaults.customAttributes; this.defaultBranch = defaults.defaultBranch; this.description = defaults.description; - this.emailsDisabled = defaults.emailsDisabled; this.emailsEnabled = defaults.emailsEnabled; this.emptyRepo = defaults.emptyRepo; this.environmentsAccessLevel = defaults.environmentsAccessLevel; @@ -1380,7 +1345,6 @@ public Builder(GetProjectsProject defaults) { this.path = defaults.path; this.pathWithNamespace = defaults.pathWithNamespace; this.permissions = defaults.permissions; - this.public_ = defaults.public_; this.publicBuilds = defaults.publicBuilds; this.readmeUrl = defaults.readmeUrl; this.releasesAccessLevel = defaults.releasesAccessLevel; @@ -1621,14 +1585,6 @@ public Builder description(String description) { return this; } @CustomType.Setter - public Builder emailsDisabled(Boolean emailsDisabled) { - if (emailsDisabled == null) { - throw new MissingRequiredPropertyException("GetProjectsProject", "emailsDisabled"); - } - this.emailsDisabled = emailsDisabled; - return this; - } - @CustomType.Setter public Builder emailsEnabled(Boolean emailsEnabled) { if (emailsEnabled == null) { throw new MissingRequiredPropertyException("GetProjectsProject", "emailsEnabled"); @@ -1992,14 +1948,6 @@ public Builder permissions(List permissions) { public Builder permissions(GetProjectsProjectPermission... permissions) { return permissions(List.of(permissions)); } - @CustomType.Setter("public") - public Builder public_(Boolean public_) { - if (public_ == null) { - throw new MissingRequiredPropertyException("GetProjectsProject", "public_"); - } - this.public_ = public_; - return this; - } @CustomType.Setter public Builder publicBuilds(Boolean publicBuilds) { if (publicBuilds == null) { @@ -2245,7 +2193,6 @@ public GetProjectsProject build() { _resultValue.customAttributes = customAttributes; _resultValue.defaultBranch = defaultBranch; _resultValue.description = description; - _resultValue.emailsDisabled = emailsDisabled; _resultValue.emailsEnabled = emailsEnabled; _resultValue.emptyRepo = emptyRepo; _resultValue.environmentsAccessLevel = environmentsAccessLevel; @@ -2290,7 +2237,6 @@ public GetProjectsProject build() { _resultValue.path = path; _resultValue.pathWithNamespace = pathWithNamespace; _resultValue.permissions = permissions; - _resultValue.public_ = public_; _resultValue.publicBuilds = publicBuilds; _resultValue.readmeUrl = readmeUrl; _resultValue.releasesAccessLevel = releasesAccessLevel; diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GroupPushRules.java b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GroupPushRules.java index 514fc212..2fae6aed 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GroupPushRules.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/GroupPushRules.java @@ -28,6 +28,11 @@ public final class GroupPushRules { * */ private @Nullable Boolean commitCommitterCheck; + /** + * @return Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + private @Nullable Boolean commitCommitterNameCheck; /** * @return No commit message is allowed to match this regex, for example `ssh\:\/\/`. * @@ -91,6 +96,13 @@ public Optional branchNameRegex() { public Optional commitCommitterCheck() { return Optional.ofNullable(this.commitCommitterCheck); } + /** + * @return Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + public Optional commitCommitterNameCheck() { + return Optional.ofNullable(this.commitCommitterNameCheck); + } /** * @return No commit message is allowed to match this regex, for example `ssh\:\/\/`. * @@ -160,6 +172,7 @@ public static final class Builder { private @Nullable String authorEmailRegex; private @Nullable String branchNameRegex; private @Nullable Boolean commitCommitterCheck; + private @Nullable Boolean commitCommitterNameCheck; private @Nullable String commitMessageNegativeRegex; private @Nullable String commitMessageRegex; private @Nullable Boolean denyDeleteTag; @@ -174,6 +187,7 @@ public Builder(GroupPushRules defaults) { this.authorEmailRegex = defaults.authorEmailRegex; this.branchNameRegex = defaults.branchNameRegex; this.commitCommitterCheck = defaults.commitCommitterCheck; + this.commitCommitterNameCheck = defaults.commitCommitterNameCheck; this.commitMessageNegativeRegex = defaults.commitMessageNegativeRegex; this.commitMessageRegex = defaults.commitMessageRegex; this.denyDeleteTag = defaults.denyDeleteTag; @@ -203,6 +217,12 @@ public Builder commitCommitterCheck(@Nullable Boolean commitCommitterCheck) { return this; } @CustomType.Setter + public Builder commitCommitterNameCheck(@Nullable Boolean commitCommitterNameCheck) { + + this.commitCommitterNameCheck = commitCommitterNameCheck; + return this; + } + @CustomType.Setter public Builder commitMessageNegativeRegex(@Nullable String commitMessageNegativeRegex) { this.commitMessageNegativeRegex = commitMessageNegativeRegex; @@ -255,6 +275,7 @@ public GroupPushRules build() { _resultValue.authorEmailRegex = authorEmailRegex; _resultValue.branchNameRegex = branchNameRegex; _resultValue.commitCommitterCheck = commitCommitterCheck; + _resultValue.commitCommitterNameCheck = commitCommitterNameCheck; _resultValue.commitMessageNegativeRegex = commitMessageNegativeRegex; _resultValue.commitMessageRegex = commitMessageRegex; _resultValue.denyDeleteTag = denyDeleteTag; diff --git a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/ProjectPushRules.java b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/ProjectPushRules.java index 6ef948bf..ea2af582 100644 --- a/sdk/java/src/main/java/com/pulumi/gitlab/outputs/ProjectPushRules.java +++ b/sdk/java/src/main/java/com/pulumi/gitlab/outputs/ProjectPushRules.java @@ -29,7 +29,12 @@ public final class ProjectPushRules { */ private @Nullable Boolean commitCommitterCheck; /** - * @return No commit message is allowed to match this regex, for example `ssh\:\/\/`. + * @return Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + private @Nullable Boolean commitCommitterNameCheck; + /** + * @return No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. * */ private @Nullable String commitMessageNegativeRegex; @@ -92,7 +97,14 @@ public Optional commitCommitterCheck() { return Optional.ofNullable(this.commitCommitterCheck); } /** - * @return No commit message is allowed to match this regex, for example `ssh\:\/\/`. + * @return Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + * + */ + public Optional commitCommitterNameCheck() { + return Optional.ofNullable(this.commitCommitterNameCheck); + } + /** + * @return No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. * */ public Optional commitMessageNegativeRegex() { @@ -160,6 +172,7 @@ public static final class Builder { private @Nullable String authorEmailRegex; private @Nullable String branchNameRegex; private @Nullable Boolean commitCommitterCheck; + private @Nullable Boolean commitCommitterNameCheck; private @Nullable String commitMessageNegativeRegex; private @Nullable String commitMessageRegex; private @Nullable Boolean denyDeleteTag; @@ -174,6 +187,7 @@ public Builder(ProjectPushRules defaults) { this.authorEmailRegex = defaults.authorEmailRegex; this.branchNameRegex = defaults.branchNameRegex; this.commitCommitterCheck = defaults.commitCommitterCheck; + this.commitCommitterNameCheck = defaults.commitCommitterNameCheck; this.commitMessageNegativeRegex = defaults.commitMessageNegativeRegex; this.commitMessageRegex = defaults.commitMessageRegex; this.denyDeleteTag = defaults.denyDeleteTag; @@ -203,6 +217,12 @@ public Builder commitCommitterCheck(@Nullable Boolean commitCommitterCheck) { return this; } @CustomType.Setter + public Builder commitCommitterNameCheck(@Nullable Boolean commitCommitterNameCheck) { + + this.commitCommitterNameCheck = commitCommitterNameCheck; + return this; + } + @CustomType.Setter public Builder commitMessageNegativeRegex(@Nullable String commitMessageNegativeRegex) { this.commitMessageNegativeRegex = commitMessageNegativeRegex; @@ -255,6 +275,7 @@ public ProjectPushRules build() { _resultValue.authorEmailRegex = authorEmailRegex; _resultValue.branchNameRegex = branchNameRegex; _resultValue.commitCommitterCheck = commitCommitterCheck; + _resultValue.commitCommitterNameCheck = commitCommitterNameCheck; _resultValue.commitMessageNegativeRegex = commitMessageNegativeRegex; _resultValue.commitMessageRegex = commitMessageRegex; _resultValue.denyDeleteTag = denyDeleteTag; diff --git a/sdk/nodejs/applicationSettings.ts b/sdk/nodejs/applicationSettings.ts index c3dd3a19..d4e6beef 100644 --- a/sdk/nodejs/applicationSettings.ts +++ b/sdk/nodejs/applicationSettings.ts @@ -591,6 +591,10 @@ export class ApplicationSettings extends pulumi.CustomResource { * A method call is only tracked when it takes longer than the given amount of milliseconds. */ public readonly metricsMethodCallThreshold!: pulumi.Output; + /** + * Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + */ + public readonly minimumPasswordLength!: pulumi.Output; /** * Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. */ @@ -1158,6 +1162,7 @@ export class ApplicationSettings extends pulumi.CustomResource { resourceInputs["maxPersonalAccessTokenLifetime"] = state ? state.maxPersonalAccessTokenLifetime : undefined; resourceInputs["maxSshKeyLifetime"] = state ? state.maxSshKeyLifetime : undefined; resourceInputs["metricsMethodCallThreshold"] = state ? state.metricsMethodCallThreshold : undefined; + resourceInputs["minimumPasswordLength"] = state ? state.minimumPasswordLength : undefined; resourceInputs["mirrorAvailable"] = state ? state.mirrorAvailable : undefined; resourceInputs["mirrorCapacityThreshold"] = state ? state.mirrorCapacityThreshold : undefined; resourceInputs["mirrorMaxCapacity"] = state ? state.mirrorMaxCapacity : undefined; @@ -1401,6 +1406,7 @@ export class ApplicationSettings extends pulumi.CustomResource { resourceInputs["maxPersonalAccessTokenLifetime"] = args ? args.maxPersonalAccessTokenLifetime : undefined; resourceInputs["maxSshKeyLifetime"] = args ? args.maxSshKeyLifetime : undefined; resourceInputs["metricsMethodCallThreshold"] = args ? args.metricsMethodCallThreshold : undefined; + resourceInputs["minimumPasswordLength"] = args ? args.minimumPasswordLength : undefined; resourceInputs["mirrorAvailable"] = args ? args.mirrorAvailable : undefined; resourceInputs["mirrorCapacityThreshold"] = args ? args.mirrorCapacityThreshold : undefined; resourceInputs["mirrorMaxCapacity"] = args ? args.mirrorMaxCapacity : undefined; @@ -2073,6 +2079,10 @@ export interface ApplicationSettingsState { * A method call is only tracked when it takes longer than the given amount of milliseconds. */ metricsMethodCallThreshold?: pulumi.Input; + /** + * Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + */ + minimumPasswordLength?: pulumi.Input; /** * Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. */ @@ -3051,6 +3061,10 @@ export interface ApplicationSettingsArgs { * A method call is only tracked when it takes longer than the given amount of milliseconds. */ metricsMethodCallThreshold?: pulumi.Input; + /** + * Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + */ + minimumPasswordLength?: pulumi.Input; /** * Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. */ diff --git a/sdk/nodejs/getInstanceVariable.ts b/sdk/nodejs/getInstanceVariable.ts index 34b80a55..ff27f37b 100644 --- a/sdk/nodejs/getInstanceVariable.ts +++ b/sdk/nodejs/getInstanceVariable.ts @@ -42,6 +42,10 @@ export interface GetInstanceVariableArgs { * A collection of values returned by getInstanceVariable. */ export interface GetInstanceVariableResult { + /** + * The description of the variable. Maximum of 255 characters. + */ + readonly description: string; /** * The provider-assigned unique ID for this managed resource. */ diff --git a/sdk/nodejs/getProject.ts b/sdk/nodejs/getProject.ts index 562bb56d..de297ef6 100644 --- a/sdk/nodejs/getProject.ts +++ b/sdk/nodejs/getProject.ts @@ -117,12 +117,6 @@ export interface GetProjectResult { * A description of the project. */ readonly description: string; - /** - * Disable email notifications. - * - * @deprecated Use of `emailsDisabled` is deprecated. Use `emailsEnabled` instead. - */ - readonly emailsDisabled: boolean; /** * Enable email notifications. */ diff --git a/sdk/nodejs/group.ts b/sdk/nodejs/group.ts index af2f2aa6..9d6bf4fb 100644 --- a/sdk/nodejs/group.ts +++ b/sdk/nodejs/group.ts @@ -110,12 +110,6 @@ export class Group extends pulumi.CustomResource { * The group's description. */ public readonly description!: pulumi.Output; - /** - * Disable email notifications. - * - * @deprecated use `emailsEnabled` instead - */ - public readonly emailsDisabled!: pulumi.Output; /** * Enable email notifications. */ @@ -236,7 +230,6 @@ export class Group extends pulumi.CustomResource { resourceInputs["avatarUrl"] = state ? state.avatarUrl : undefined; resourceInputs["defaultBranchProtection"] = state ? state.defaultBranchProtection : undefined; resourceInputs["description"] = state ? state.description : undefined; - resourceInputs["emailsDisabled"] = state ? state.emailsDisabled : undefined; resourceInputs["emailsEnabled"] = state ? state.emailsEnabled : undefined; resourceInputs["extraSharedRunnersMinutesLimit"] = state ? state.extraSharedRunnersMinutesLimit : undefined; resourceInputs["fullName"] = state ? state.fullName : undefined; @@ -272,7 +265,6 @@ export class Group extends pulumi.CustomResource { resourceInputs["avatarHash"] = args ? args.avatarHash : undefined; resourceInputs["defaultBranchProtection"] = args ? args.defaultBranchProtection : undefined; resourceInputs["description"] = args ? args.description : undefined; - resourceInputs["emailsDisabled"] = args ? args.emailsDisabled : undefined; resourceInputs["emailsEnabled"] = args ? args.emailsEnabled : undefined; resourceInputs["extraSharedRunnersMinutesLimit"] = args ? args.extraSharedRunnersMinutesLimit : undefined; resourceInputs["ipRestrictionRanges"] = args ? args.ipRestrictionRanges : undefined; @@ -335,12 +327,6 @@ export interface GroupState { * The group's description. */ description?: pulumi.Input; - /** - * Disable email notifications. - * - * @deprecated use `emailsEnabled` instead - */ - emailsDisabled?: pulumi.Input; /** * Enable email notifications. */ @@ -467,12 +453,6 @@ export interface GroupArgs { * The group's description. */ description?: pulumi.Input; - /** - * Disable email notifications. - * - * @deprecated use `emailsEnabled` instead - */ - emailsDisabled?: pulumi.Input; /** * Enable email notifications. */ diff --git a/sdk/nodejs/groupAccessToken.ts b/sdk/nodejs/groupAccessToken.ts index 5cfeeb05..9ddb3a24 100644 --- a/sdk/nodejs/groupAccessToken.ts +++ b/sdk/nodejs/groupAccessToken.ts @@ -76,7 +76,7 @@ export class GroupAccessToken extends pulumi.CustomResource { } /** - * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. */ public readonly accessLevel!: pulumi.Output; /** @@ -176,7 +176,7 @@ export class GroupAccessToken extends pulumi.CustomResource { */ export interface GroupAccessTokenState { /** - * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. */ accessLevel?: pulumi.Input; /** @@ -226,7 +226,7 @@ export interface GroupAccessTokenState { */ export interface GroupAccessTokenArgs { /** - * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. */ accessLevel?: pulumi.Input; /** diff --git a/sdk/nodejs/groupLdapLink.ts b/sdk/nodejs/groupLdapLink.ts index 388704cd..111a2f2e 100644 --- a/sdk/nodejs/groupLdapLink.ts +++ b/sdk/nodejs/groupLdapLink.ts @@ -54,7 +54,7 @@ export class GroupLdapLink extends pulumi.CustomResource { } /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated Use `groupAccess` instead of the `accessLevel` attribute. */ @@ -76,7 +76,7 @@ export class GroupLdapLink extends pulumi.CustomResource { */ public readonly group!: pulumi.Output; /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ public readonly groupAccess!: pulumi.Output; /** @@ -130,7 +130,7 @@ export class GroupLdapLink extends pulumi.CustomResource { */ export interface GroupLdapLinkState { /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated Use `groupAccess` instead of the `accessLevel` attribute. */ @@ -152,7 +152,7 @@ export interface GroupLdapLinkState { */ group?: pulumi.Input; /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ groupAccess?: pulumi.Input; /** @@ -166,7 +166,7 @@ export interface GroupLdapLinkState { */ export interface GroupLdapLinkArgs { /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated Use `groupAccess` instead of the `accessLevel` attribute. */ @@ -188,7 +188,7 @@ export interface GroupLdapLinkArgs { */ group: pulumi.Input; /** - * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ groupAccess?: pulumi.Input; /** diff --git a/sdk/nodejs/groupMembership.ts b/sdk/nodejs/groupMembership.ts index 4b4b1475..53c746d8 100644 --- a/sdk/nodejs/groupMembership.ts +++ b/sdk/nodejs/groupMembership.ts @@ -62,7 +62,7 @@ export class GroupMembership extends pulumi.CustomResource { } /** - * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. */ public readonly accessLevel!: pulumi.Output; /** @@ -139,7 +139,7 @@ export class GroupMembership extends pulumi.CustomResource { */ export interface GroupMembershipState { /** - * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. */ accessLevel?: pulumi.Input; /** @@ -173,7 +173,7 @@ export interface GroupMembershipState { */ export interface GroupMembershipArgs { /** - * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + * Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. */ accessLevel: pulumi.Input; /** diff --git a/sdk/nodejs/groupProtectedEnvironment.ts b/sdk/nodejs/groupProtectedEnvironment.ts index 0bcb4990..2bfa5743 100644 --- a/sdk/nodejs/groupProtectedEnvironment.ts +++ b/sdk/nodejs/groupProtectedEnvironment.ts @@ -68,10 +68,6 @@ export class GroupProtectedEnvironment extends pulumi.CustomResource { * The ID or full path of the group which the protected environment is created against. */ public readonly group!: pulumi.Output; - /** - * The number of approvals required to deploy to this environment. - */ - public readonly requiredApprovalCount!: pulumi.Output; /** * Create a GroupProtectedEnvironment resource with the given unique name, arguments, and options. @@ -90,7 +86,6 @@ export class GroupProtectedEnvironment extends pulumi.CustomResource { resourceInputs["deployAccessLevels"] = state ? state.deployAccessLevels : undefined; resourceInputs["environment"] = state ? state.environment : undefined; resourceInputs["group"] = state ? state.group : undefined; - resourceInputs["requiredApprovalCount"] = state ? state.requiredApprovalCount : undefined; } else { const args = argsOrState as GroupProtectedEnvironmentArgs | undefined; if ((!args || args.deployAccessLevels === undefined) && !opts.urn) { @@ -106,7 +101,6 @@ export class GroupProtectedEnvironment extends pulumi.CustomResource { resourceInputs["deployAccessLevels"] = args ? args.deployAccessLevels : undefined; resourceInputs["environment"] = args ? args.environment : undefined; resourceInputs["group"] = args ? args.group : undefined; - resourceInputs["requiredApprovalCount"] = args ? args.requiredApprovalCount : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(GroupProtectedEnvironment.__pulumiType, name, resourceInputs, opts); @@ -133,10 +127,6 @@ export interface GroupProtectedEnvironmentState { * The ID or full path of the group which the protected environment is created against. */ group?: pulumi.Input; - /** - * The number of approvals required to deploy to this environment. - */ - requiredApprovalCount?: pulumi.Input; } /** @@ -159,8 +149,4 @@ export interface GroupProtectedEnvironmentArgs { * The ID or full path of the group which the protected environment is created against. */ group: pulumi.Input; - /** - * The number of approvals required to deploy to this environment. - */ - requiredApprovalCount?: pulumi.Input; } diff --git a/sdk/nodejs/groupShareGroup.ts b/sdk/nodejs/groupShareGroup.ts index e17b2549..903e0b1d 100644 --- a/sdk/nodejs/groupShareGroup.ts +++ b/sdk/nodejs/groupShareGroup.ts @@ -64,7 +64,7 @@ export class GroupShareGroup extends pulumi.CustomResource { */ public readonly expiresAt!: pulumi.Output; /** - * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ public readonly groupAccess!: pulumi.Output; /** @@ -123,7 +123,7 @@ export interface GroupShareGroupState { */ expiresAt?: pulumi.Input; /** - * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ groupAccess?: pulumi.Input; /** @@ -145,7 +145,7 @@ export interface GroupShareGroupArgs { */ expiresAt?: pulumi.Input; /** - * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ groupAccess: pulumi.Input; /** diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index efc212e5..ad5c8049 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -380,6 +380,11 @@ export type IntegrationGithub = import("./integrationGithub").IntegrationGithub; export const IntegrationGithub: typeof import("./integrationGithub").IntegrationGithub = null as any; utilities.lazyLoad(exports, ["IntegrationGithub"], () => require("./integrationGithub")); +export { IntegrationJenkinsArgs, IntegrationJenkinsState } from "./integrationJenkins"; +export type IntegrationJenkins = import("./integrationJenkins").IntegrationJenkins; +export const IntegrationJenkins: typeof import("./integrationJenkins").IntegrationJenkins = null as any; +utilities.lazyLoad(exports, ["IntegrationJenkins"], () => require("./integrationJenkins")); + export { IntegrationJiraArgs, IntegrationJiraState } from "./integrationJira"; export type IntegrationJira = import("./integrationJira").IntegrationJira; export const IntegrationJira: typeof import("./integrationJira").IntegrationJira = null as any; @@ -500,6 +505,11 @@ export type ProjectJobTokenScope = import("./projectJobTokenScope").ProjectJobTo export const ProjectJobTokenScope: typeof import("./projectJobTokenScope").ProjectJobTokenScope = null as any; utilities.lazyLoad(exports, ["ProjectJobTokenScope"], () => require("./projectJobTokenScope")); +export { ProjectJobTokenScopesArgs, ProjectJobTokenScopesState } from "./projectJobTokenScopes"; +export type ProjectJobTokenScopes = import("./projectJobTokenScopes").ProjectJobTokenScopes; +export const ProjectJobTokenScopes: typeof import("./projectJobTokenScopes").ProjectJobTokenScopes = null as any; +utilities.lazyLoad(exports, ["ProjectJobTokenScopes"], () => require("./projectJobTokenScopes")); + export { ProjectLabelArgs, ProjectLabelState } from "./projectLabel"; export type ProjectLabel = import("./projectLabel").ProjectLabel; export const ProjectLabel: typeof import("./projectLabel").ProjectLabel = null as any; @@ -535,6 +545,11 @@ export type ProjectProtectedEnvironment = import("./projectProtectedEnvironment" export const ProjectProtectedEnvironment: typeof import("./projectProtectedEnvironment").ProjectProtectedEnvironment = null as any; utilities.lazyLoad(exports, ["ProjectProtectedEnvironment"], () => require("./projectProtectedEnvironment")); +export { ProjectPushRulesArgs, ProjectPushRulesState } from "./projectPushRules"; +export type ProjectPushRules = import("./projectPushRules").ProjectPushRules; +export const ProjectPushRules: typeof import("./projectPushRules").ProjectPushRules = null as any; +utilities.lazyLoad(exports, ["ProjectPushRules"], () => require("./projectPushRules")); + export { ProjectRunnerEnablementArgs, ProjectRunnerEnablementState } from "./projectRunnerEnablement"; export type ProjectRunnerEnablement = import("./projectRunnerEnablement").ProjectRunnerEnablement; export const ProjectRunnerEnablement: typeof import("./projectRunnerEnablement").ProjectRunnerEnablement = null as any; @@ -735,6 +750,8 @@ const _module = { return new IntegrationExternalWiki(name, undefined, { urn }) case "gitlab:index/integrationGithub:IntegrationGithub": return new IntegrationGithub(name, undefined, { urn }) + case "gitlab:index/integrationJenkins:IntegrationJenkins": + return new IntegrationJenkins(name, undefined, { urn }) case "gitlab:index/integrationJira:IntegrationJira": return new IntegrationJira(name, undefined, { urn }) case "gitlab:index/integrationMattermost:IntegrationMattermost": @@ -783,6 +800,8 @@ const _module = { return new ProjectIssueBoard(name, undefined, { urn }) case "gitlab:index/projectJobTokenScope:ProjectJobTokenScope": return new ProjectJobTokenScope(name, undefined, { urn }) + case "gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes": + return new ProjectJobTokenScopes(name, undefined, { urn }) case "gitlab:index/projectLabel:ProjectLabel": return new ProjectLabel(name, undefined, { urn }) case "gitlab:index/projectLevelMrApprovals:ProjectLevelMrApprovals": @@ -797,6 +816,8 @@ const _module = { return new ProjectMirror(name, undefined, { urn }) case "gitlab:index/projectProtectedEnvironment:ProjectProtectedEnvironment": return new ProjectProtectedEnvironment(name, undefined, { urn }) + case "gitlab:index/projectPushRules:ProjectPushRules": + return new ProjectPushRules(name, undefined, { urn }) case "gitlab:index/projectRunnerEnablement:ProjectRunnerEnablement": return new ProjectRunnerEnablement(name, undefined, { urn }) case "gitlab:index/projectShareGroup:ProjectShareGroup": @@ -881,6 +902,7 @@ pulumi.runtime.registerResourceModule("gitlab", "index/integrationCustomIssueTra pulumi.runtime.registerResourceModule("gitlab", "index/integrationEmailsOnPush", _module) pulumi.runtime.registerResourceModule("gitlab", "index/integrationExternalWiki", _module) pulumi.runtime.registerResourceModule("gitlab", "index/integrationGithub", _module) +pulumi.runtime.registerResourceModule("gitlab", "index/integrationJenkins", _module) pulumi.runtime.registerResourceModule("gitlab", "index/integrationJira", _module) pulumi.runtime.registerResourceModule("gitlab", "index/integrationMattermost", _module) pulumi.runtime.registerResourceModule("gitlab", "index/integrationMicrosoftTeams", _module) @@ -905,6 +927,7 @@ pulumi.runtime.registerResourceModule("gitlab", "index/projectHook", _module) pulumi.runtime.registerResourceModule("gitlab", "index/projectIssue", _module) pulumi.runtime.registerResourceModule("gitlab", "index/projectIssueBoard", _module) pulumi.runtime.registerResourceModule("gitlab", "index/projectJobTokenScope", _module) +pulumi.runtime.registerResourceModule("gitlab", "index/projectJobTokenScopes", _module) pulumi.runtime.registerResourceModule("gitlab", "index/projectLabel", _module) pulumi.runtime.registerResourceModule("gitlab", "index/projectLevelMrApprovals", _module) pulumi.runtime.registerResourceModule("gitlab", "index/projectLevelNotifications", _module) @@ -912,6 +935,7 @@ pulumi.runtime.registerResourceModule("gitlab", "index/projectMembership", _modu pulumi.runtime.registerResourceModule("gitlab", "index/projectMilestone", _module) pulumi.runtime.registerResourceModule("gitlab", "index/projectMirror", _module) pulumi.runtime.registerResourceModule("gitlab", "index/projectProtectedEnvironment", _module) +pulumi.runtime.registerResourceModule("gitlab", "index/projectPushRules", _module) pulumi.runtime.registerResourceModule("gitlab", "index/projectRunnerEnablement", _module) pulumi.runtime.registerResourceModule("gitlab", "index/projectShareGroup", _module) pulumi.runtime.registerResourceModule("gitlab", "index/projectTag", _module) diff --git a/sdk/nodejs/instanceVariable.ts b/sdk/nodejs/instanceVariable.ts index a0ace36a..6c976ef1 100644 --- a/sdk/nodejs/instanceVariable.ts +++ b/sdk/nodejs/instanceVariable.ts @@ -59,6 +59,10 @@ export class InstanceVariable extends pulumi.CustomResource { return obj['__pulumiType'] === InstanceVariable.__pulumiType; } + /** + * The description of the variable. Maximum of 255 characters. + */ + public readonly description!: pulumi.Output; /** * The name of the variable. */ @@ -97,6 +101,7 @@ export class InstanceVariable extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as InstanceVariableState | undefined; + resourceInputs["description"] = state ? state.description : undefined; resourceInputs["key"] = state ? state.key : undefined; resourceInputs["masked"] = state ? state.masked : undefined; resourceInputs["protected"] = state ? state.protected : undefined; @@ -111,6 +116,7 @@ export class InstanceVariable extends pulumi.CustomResource { if ((!args || args.value === undefined) && !opts.urn) { throw new Error("Missing required property 'value'"); } + resourceInputs["description"] = args ? args.description : undefined; resourceInputs["key"] = args ? args.key : undefined; resourceInputs["masked"] = args ? args.masked : undefined; resourceInputs["protected"] = args ? args.protected : undefined; @@ -127,6 +133,10 @@ export class InstanceVariable extends pulumi.CustomResource { * Input properties used for looking up and filtering InstanceVariable resources. */ export interface InstanceVariableState { + /** + * The description of the variable. Maximum of 255 characters. + */ + description?: pulumi.Input; /** * The name of the variable. */ @@ -157,6 +167,10 @@ export interface InstanceVariableState { * The set of arguments for constructing a InstanceVariable resource. */ export interface InstanceVariableArgs { + /** + * The description of the variable. Maximum of 255 characters. + */ + description?: pulumi.Input; /** * The name of the variable. */ diff --git a/sdk/nodejs/integrationJenkins.ts b/sdk/nodejs/integrationJenkins.ts new file mode 100644 index 00000000..6232ce25 --- /dev/null +++ b/sdk/nodejs/integrationJenkins.ts @@ -0,0 +1,247 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * The `gitlab.IntegrationJenkins` resource allows to manage the lifecycle of a project integration with Jenkins. + * + * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#jenkins) + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as gitlab from "@pulumi/gitlab"; + * + * const awesomeProject = new gitlab.Project("awesome_project", { + * name: "awesome_project", + * description: "My awesome project.", + * visibilityLevel: "public", + * }); + * const jenkins = new gitlab.IntegrationJenkins("jenkins", { + * project: awesomeProject.id, + * jenkinsUrl: "http://jenkins.example.com", + * projectName: "my_project_name", + * }); + * ``` + * + * ## Import + * + * ```sh + * $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins You can import a gitlab_integration_jenkins state using ` `: + * ``` + * + * ```sh + * $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins jenkins 1 + * ``` + */ +export class IntegrationJenkins extends pulumi.CustomResource { + /** + * Get an existing IntegrationJenkins resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: IntegrationJenkinsState, opts?: pulumi.CustomResourceOptions): IntegrationJenkins { + return new IntegrationJenkins(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'gitlab:index/integrationJenkins:IntegrationJenkins'; + + /** + * Returns true if the given object is an instance of IntegrationJenkins. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is IntegrationJenkins { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === IntegrationJenkins.__pulumiType; + } + + /** + * Whether the integration is active. + */ + public /*out*/ readonly active!: pulumi.Output; + /** + * Enable SSL verification. Defaults to `true` (enabled). + */ + public readonly enableSslVerification!: pulumi.Output; + /** + * Jenkins URL like `http://jenkins.example.com` + */ + public readonly jenkinsUrl!: pulumi.Output; + /** + * Enable notifications for merge request events. + */ + public readonly mergeRequestEvents!: pulumi.Output; + /** + * Password for authentication with the Jenkins server, if authentication is required by the server. + */ + public readonly password!: pulumi.Output; + /** + * ID of the project you want to activate integration on. + */ + public readonly project!: pulumi.Output; + /** + * The URL-friendly project name. Example: `myProjectName`. + */ + public readonly projectName!: pulumi.Output; + /** + * Enable notifications for push events. + */ + public readonly pushEvents!: pulumi.Output; + /** + * Enable notifications for tag push events. + */ + public readonly tagPushEvents!: pulumi.Output; + /** + * Username for authentication with the Jenkins server, if authentication is required by the server. + */ + public readonly username!: pulumi.Output; + + /** + * Create a IntegrationJenkins resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: IntegrationJenkinsArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: IntegrationJenkinsArgs | IntegrationJenkinsState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as IntegrationJenkinsState | undefined; + resourceInputs["active"] = state ? state.active : undefined; + resourceInputs["enableSslVerification"] = state ? state.enableSslVerification : undefined; + resourceInputs["jenkinsUrl"] = state ? state.jenkinsUrl : undefined; + resourceInputs["mergeRequestEvents"] = state ? state.mergeRequestEvents : undefined; + resourceInputs["password"] = state ? state.password : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["projectName"] = state ? state.projectName : undefined; + resourceInputs["pushEvents"] = state ? state.pushEvents : undefined; + resourceInputs["tagPushEvents"] = state ? state.tagPushEvents : undefined; + resourceInputs["username"] = state ? state.username : undefined; + } else { + const args = argsOrState as IntegrationJenkinsArgs | undefined; + if ((!args || args.jenkinsUrl === undefined) && !opts.urn) { + throw new Error("Missing required property 'jenkinsUrl'"); + } + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + if ((!args || args.projectName === undefined) && !opts.urn) { + throw new Error("Missing required property 'projectName'"); + } + resourceInputs["enableSslVerification"] = args ? args.enableSslVerification : undefined; + resourceInputs["jenkinsUrl"] = args ? args.jenkinsUrl : undefined; + resourceInputs["mergeRequestEvents"] = args ? args.mergeRequestEvents : undefined; + resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["projectName"] = args ? args.projectName : undefined; + resourceInputs["pushEvents"] = args ? args.pushEvents : undefined; + resourceInputs["tagPushEvents"] = args ? args.tagPushEvents : undefined; + resourceInputs["username"] = args ? args.username : undefined; + resourceInputs["active"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["password"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(IntegrationJenkins.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering IntegrationJenkins resources. + */ +export interface IntegrationJenkinsState { + /** + * Whether the integration is active. + */ + active?: pulumi.Input; + /** + * Enable SSL verification. Defaults to `true` (enabled). + */ + enableSslVerification?: pulumi.Input; + /** + * Jenkins URL like `http://jenkins.example.com` + */ + jenkinsUrl?: pulumi.Input; + /** + * Enable notifications for merge request events. + */ + mergeRequestEvents?: pulumi.Input; + /** + * Password for authentication with the Jenkins server, if authentication is required by the server. + */ + password?: pulumi.Input; + /** + * ID of the project you want to activate integration on. + */ + project?: pulumi.Input; + /** + * The URL-friendly project name. Example: `myProjectName`. + */ + projectName?: pulumi.Input; + /** + * Enable notifications for push events. + */ + pushEvents?: pulumi.Input; + /** + * Enable notifications for tag push events. + */ + tagPushEvents?: pulumi.Input; + /** + * Username for authentication with the Jenkins server, if authentication is required by the server. + */ + username?: pulumi.Input; +} + +/** + * The set of arguments for constructing a IntegrationJenkins resource. + */ +export interface IntegrationJenkinsArgs { + /** + * Enable SSL verification. Defaults to `true` (enabled). + */ + enableSslVerification?: pulumi.Input; + /** + * Jenkins URL like `http://jenkins.example.com` + */ + jenkinsUrl: pulumi.Input; + /** + * Enable notifications for merge request events. + */ + mergeRequestEvents?: pulumi.Input; + /** + * Password for authentication with the Jenkins server, if authentication is required by the server. + */ + password?: pulumi.Input; + /** + * ID of the project you want to activate integration on. + */ + project: pulumi.Input; + /** + * The URL-friendly project name. Example: `myProjectName`. + */ + projectName: pulumi.Input; + /** + * Enable notifications for push events. + */ + pushEvents?: pulumi.Input; + /** + * Enable notifications for tag push events. + */ + tagPushEvents?: pulumi.Input; + /** + * Username for authentication with the Jenkins server, if authentication is required by the server. + */ + username?: pulumi.Input; +} diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index 6d76cbd4..1e215d9f 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -1,6 +1,6 @@ { "name": "@pulumi/gitlab", - "version": "7.0.0-alpha.0+dev", + "version": "8.0.0", "description": "A Pulumi package for creating and managing GitLab resources.", "keywords": [ "pulumi", @@ -25,6 +25,6 @@ "pulumi": { "resource": true, "name": "gitlab", - "version": "7.0.0-alpha.0+dev" + "version": "8.0.0" } } diff --git a/sdk/nodejs/pipelineSchedule.ts b/sdk/nodejs/pipelineSchedule.ts index 4f56b3f8..25a1d6d6 100644 --- a/sdk/nodejs/pipelineSchedule.ts +++ b/sdk/nodejs/pipelineSchedule.ts @@ -18,7 +18,7 @@ import * as utilities from "./utilities"; * const example = new gitlab.PipelineSchedule("example", { * project: "12345", * description: "Used to schedule builds", - * ref: "master", + * ref: "refs/heads/main", * cron: "0 1 * * *", * }); * ``` @@ -88,7 +88,7 @@ export class PipelineSchedule extends pulumi.CustomResource { */ public readonly project!: pulumi.Output; /** - * The branch/tag name to be triggered. + * The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. */ public readonly ref!: pulumi.Output; public readonly takeOwnership!: pulumi.Output; @@ -177,7 +177,7 @@ export interface PipelineScheduleState { */ project?: pulumi.Input; /** - * The branch/tag name to be triggered. + * The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. */ ref?: pulumi.Input; takeOwnership?: pulumi.Input; @@ -208,7 +208,7 @@ export interface PipelineScheduleArgs { */ project: pulumi.Input; /** - * The branch/tag name to be triggered. + * The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. */ ref: pulumi.Input; takeOwnership?: pulumi.Input; diff --git a/sdk/nodejs/pipelineScheduleVariable.ts b/sdk/nodejs/pipelineScheduleVariable.ts index c44ee4e1..1f16810a 100644 --- a/sdk/nodejs/pipelineScheduleVariable.ts +++ b/sdk/nodejs/pipelineScheduleVariable.ts @@ -81,6 +81,10 @@ export class PipelineScheduleVariable extends pulumi.CustomResource { * Value of the variable. */ public readonly value!: pulumi.Output; + /** + * The type of a variable. Available types are: `envVar`, `file`. Default is `envVar`. + */ + public readonly variableType!: pulumi.Output; /** * Create a PipelineScheduleVariable resource with the given unique name, arguments, and options. @@ -99,6 +103,7 @@ export class PipelineScheduleVariable extends pulumi.CustomResource { resourceInputs["pipelineScheduleId"] = state ? state.pipelineScheduleId : undefined; resourceInputs["project"] = state ? state.project : undefined; resourceInputs["value"] = state ? state.value : undefined; + resourceInputs["variableType"] = state ? state.variableType : undefined; } else { const args = argsOrState as PipelineScheduleVariableArgs | undefined; if ((!args || args.key === undefined) && !opts.urn) { @@ -117,6 +122,7 @@ export class PipelineScheduleVariable extends pulumi.CustomResource { resourceInputs["pipelineScheduleId"] = args ? args.pipelineScheduleId : undefined; resourceInputs["project"] = args ? args.project : undefined; resourceInputs["value"] = args ? args.value : undefined; + resourceInputs["variableType"] = args ? args.variableType : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(PipelineScheduleVariable.__pulumiType, name, resourceInputs, opts); @@ -143,6 +149,10 @@ export interface PipelineScheduleVariableState { * Value of the variable. */ value?: pulumi.Input; + /** + * The type of a variable. Available types are: `envVar`, `file`. Default is `envVar`. + */ + variableType?: pulumi.Input; } /** @@ -165,4 +175,8 @@ export interface PipelineScheduleVariableArgs { * Value of the variable. */ value: pulumi.Input; + /** + * The type of a variable. Available types are: `envVar`, `file`. Default is `envVar`. + */ + variableType?: pulumi.Input; } diff --git a/sdk/nodejs/pipelineTrigger.ts b/sdk/nodejs/pipelineTrigger.ts index aff9d1b1..e350899c 100644 --- a/sdk/nodejs/pipelineTrigger.ts +++ b/sdk/nodejs/pipelineTrigger.ts @@ -70,7 +70,7 @@ export class PipelineTrigger extends pulumi.CustomResource { */ public readonly project!: pulumi.Output; /** - * The pipeline trigger token. + * The pipeline trigger token. This value is not available during import. */ public /*out*/ readonly token!: pulumi.Output; @@ -128,7 +128,7 @@ export interface PipelineTriggerState { */ project?: pulumi.Input; /** - * The pipeline trigger token. + * The pipeline trigger token. This value is not available during import. */ token?: pulumi.Input; } diff --git a/sdk/nodejs/project.ts b/sdk/nodejs/project.ts index e3436107..fcaf95b6 100644 --- a/sdk/nodejs/project.ts +++ b/sdk/nodejs/project.ts @@ -164,12 +164,6 @@ export class Project extends pulumi.CustomResource { * A description of the project. */ public readonly description!: pulumi.Output; - /** - * Disable email notifications. - * - * @deprecated use `emailsEnabled` instead. - */ - public readonly emailsDisabled!: pulumi.Output; /** * Enable email notifications. */ @@ -510,7 +504,6 @@ export class Project extends pulumi.CustomResource { resourceInputs["containerRegistryEnabled"] = state ? state.containerRegistryEnabled : undefined; resourceInputs["defaultBranch"] = state ? state.defaultBranch : undefined; resourceInputs["description"] = state ? state.description : undefined; - resourceInputs["emailsDisabled"] = state ? state.emailsDisabled : undefined; resourceInputs["emailsEnabled"] = state ? state.emailsEnabled : undefined; resourceInputs["emptyRepo"] = state ? state.emptyRepo : undefined; resourceInputs["environmentsAccessLevel"] = state ? state.environmentsAccessLevel : undefined; @@ -611,7 +604,6 @@ export class Project extends pulumi.CustomResource { resourceInputs["containerRegistryEnabled"] = args ? args.containerRegistryEnabled : undefined; resourceInputs["defaultBranch"] = args ? args.defaultBranch : undefined; resourceInputs["description"] = args ? args.description : undefined; - resourceInputs["emailsDisabled"] = args ? args.emailsDisabled : undefined; resourceInputs["emailsEnabled"] = args ? args.emailsEnabled : undefined; resourceInputs["environmentsAccessLevel"] = args ? args.environmentsAccessLevel : undefined; resourceInputs["externalAuthorizationClassificationLabel"] = args ? args.externalAuthorizationClassificationLabel : undefined; @@ -809,12 +801,6 @@ export interface ProjectState { * A description of the project. */ description?: pulumi.Input; - /** - * Disable email notifications. - * - * @deprecated use `emailsEnabled` instead. - */ - emailsDisabled?: pulumi.Input; /** * Enable email notifications. */ @@ -1228,12 +1214,6 @@ export interface ProjectArgs { * A description of the project. */ description?: pulumi.Input; - /** - * Disable email notifications. - * - * @deprecated use `emailsEnabled` instead. - */ - emailsDisabled?: pulumi.Input; /** * Enable email notifications. */ diff --git a/sdk/nodejs/projectAccessToken.ts b/sdk/nodejs/projectAccessToken.ts index 32aef65f..419af32c 100644 --- a/sdk/nodejs/projectAccessToken.ts +++ b/sdk/nodejs/projectAccessToken.ts @@ -76,7 +76,7 @@ export class ProjectAccessToken extends pulumi.CustomResource { } /** - * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. */ public readonly accessLevel!: pulumi.Output; /** @@ -176,7 +176,7 @@ export class ProjectAccessToken extends pulumi.CustomResource { */ export interface ProjectAccessTokenState { /** - * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. */ accessLevel?: pulumi.Input; /** @@ -226,7 +226,7 @@ export interface ProjectAccessTokenState { */ export interface ProjectAccessTokenArgs { /** - * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + * The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. */ accessLevel?: pulumi.Input; /** diff --git a/sdk/nodejs/projectJobTokenScope.ts b/sdk/nodejs/projectJobTokenScope.ts index c1b4134d..2fcd403c 100644 --- a/sdk/nodejs/projectJobTokenScope.ts +++ b/sdk/nodejs/projectJobTokenScope.ts @@ -6,12 +6,15 @@ import * as utilities from "./utilities"; /** * The `gitlab.ProjectJobTokenScope` resource allows to manage the CI/CD Job Token scope in a project. + * Any projects added to the CI/CD Job Token scope outside of TF will be untouched by the resource. + * + * > Conflicts with the use of `gitlab.ProjectJobTokenScopes` when used on the same project. Use one or the other to ensure the desired state. * * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) * * ## Import * - * GitLab project environments can be imported using an id made up of `projectId:targetProjectId`, e.g. + * GitLab project job token scopes can be imported using an id made up of `projectId:targetProjectId`, e.g. * * ```sh * $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:321 diff --git a/sdk/nodejs/projectJobTokenScopes.ts b/sdk/nodejs/projectJobTokenScopes.ts new file mode 100644 index 00000000..786b2773 --- /dev/null +++ b/sdk/nodejs/projectJobTokenScopes.ts @@ -0,0 +1,117 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * The `gitlab.ProjectJobTokenScopes` resource allows to manage the CI/CD Job Token scopes in a project. + * Any project not within the defined set in this attribute will be removed, which allows this resource to be used as an explicit deny. + * + * > Conflicts with the use of `gitlab.ProjectJobTokenScope` when used on the same project. Use one or the other to ensure the desired state. + * + * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) + * + * ## Import + * + * GitLab project job token scopes can be imported using an id made up of just the `project_id` as an integer + * + * ```sh + * $ pulumi import gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes bar 123 + * ``` + */ +export class ProjectJobTokenScopes extends pulumi.CustomResource { + /** + * Get an existing ProjectJobTokenScopes resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: ProjectJobTokenScopesState, opts?: pulumi.CustomResourceOptions): ProjectJobTokenScopes { + return new ProjectJobTokenScopes(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes'; + + /** + * Returns true if the given object is an instance of ProjectJobTokenScopes. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ProjectJobTokenScopes { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ProjectJobTokenScopes.__pulumiType; + } + + /** + * The ID of the project. + */ + public readonly projectId!: pulumi.Output; + /** + * A set of project IDs that are in the CI/CD job token inbound allowlist. + */ + public readonly targetProjectIds!: pulumi.Output; + + /** + * Create a ProjectJobTokenScopes resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: ProjectJobTokenScopesArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ProjectJobTokenScopesArgs | ProjectJobTokenScopesState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ProjectJobTokenScopesState | undefined; + resourceInputs["projectId"] = state ? state.projectId : undefined; + resourceInputs["targetProjectIds"] = state ? state.targetProjectIds : undefined; + } else { + const args = argsOrState as ProjectJobTokenScopesArgs | undefined; + if ((!args || args.projectId === undefined) && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if ((!args || args.targetProjectIds === undefined) && !opts.urn) { + throw new Error("Missing required property 'targetProjectIds'"); + } + resourceInputs["projectId"] = args ? args.projectId : undefined; + resourceInputs["targetProjectIds"] = args ? args.targetProjectIds : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ProjectJobTokenScopes.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ProjectJobTokenScopes resources. + */ +export interface ProjectJobTokenScopesState { + /** + * The ID of the project. + */ + projectId?: pulumi.Input; + /** + * A set of project IDs that are in the CI/CD job token inbound allowlist. + */ + targetProjectIds?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a ProjectJobTokenScopes resource. + */ +export interface ProjectJobTokenScopesArgs { + /** + * The ID of the project. + */ + projectId: pulumi.Input; + /** + * A set of project IDs that are in the CI/CD job token inbound allowlist. + */ + targetProjectIds: pulumi.Input[]>; +} diff --git a/sdk/nodejs/projectMembership.ts b/sdk/nodejs/projectMembership.ts index a95cc216..b2f4422d 100644 --- a/sdk/nodejs/projectMembership.ts +++ b/sdk/nodejs/projectMembership.ts @@ -67,7 +67,7 @@ export class ProjectMembership extends pulumi.CustomResource { } /** - * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ public readonly accessLevel!: pulumi.Output; /** @@ -126,7 +126,7 @@ export class ProjectMembership extends pulumi.CustomResource { */ export interface ProjectMembershipState { /** - * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ accessLevel?: pulumi.Input; /** @@ -148,7 +148,7 @@ export interface ProjectMembershipState { */ export interface ProjectMembershipArgs { /** - * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ accessLevel: pulumi.Input; /** diff --git a/sdk/nodejs/projectProtectedEnvironment.ts b/sdk/nodejs/projectProtectedEnvironment.ts index 01f2b8e4..3cdbcf05 100644 --- a/sdk/nodejs/projectProtectedEnvironment.ts +++ b/sdk/nodejs/projectProtectedEnvironment.ts @@ -69,10 +69,6 @@ export class ProjectProtectedEnvironment extends pulumi.CustomResource { * The ID or full path of the project which the protected environment is created against. */ public readonly project!: pulumi.Output; - /** - * The number of approvals required to deploy to this environment. - */ - public readonly requiredApprovalCount!: pulumi.Output; /** * Create a ProjectProtectedEnvironment resource with the given unique name, arguments, and options. @@ -91,7 +87,6 @@ export class ProjectProtectedEnvironment extends pulumi.CustomResource { resourceInputs["deployAccessLevels"] = state ? state.deployAccessLevels : undefined; resourceInputs["environment"] = state ? state.environment : undefined; resourceInputs["project"] = state ? state.project : undefined; - resourceInputs["requiredApprovalCount"] = state ? state.requiredApprovalCount : undefined; } else { const args = argsOrState as ProjectProtectedEnvironmentArgs | undefined; if ((!args || args.environment === undefined) && !opts.urn) { @@ -104,7 +99,6 @@ export class ProjectProtectedEnvironment extends pulumi.CustomResource { resourceInputs["deployAccessLevels"] = args ? args.deployAccessLevels : undefined; resourceInputs["environment"] = args ? args.environment : undefined; resourceInputs["project"] = args ? args.project : undefined; - resourceInputs["requiredApprovalCount"] = args ? args.requiredApprovalCount : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(ProjectProtectedEnvironment.__pulumiType, name, resourceInputs, opts); @@ -131,10 +125,6 @@ export interface ProjectProtectedEnvironmentState { * The ID or full path of the project which the protected environment is created against. */ project?: pulumi.Input; - /** - * The number of approvals required to deploy to this environment. - */ - requiredApprovalCount?: pulumi.Input; } /** @@ -157,8 +147,4 @@ export interface ProjectProtectedEnvironmentArgs { * The ID or full path of the project which the protected environment is created against. */ project: pulumi.Input; - /** - * The number of approvals required to deploy to this environment. - */ - requiredApprovalCount?: pulumi.Input; } diff --git a/sdk/nodejs/projectPushRules.ts b/sdk/nodejs/projectPushRules.ts new file mode 100644 index 00000000..498dd73a --- /dev/null +++ b/sdk/nodejs/projectPushRules.ts @@ -0,0 +1,284 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as gitlab from "@pulumi/gitlab"; + * + * const sample = new gitlab.ProjectPushRules("sample", { + * project: "42", + * authorEmailRegex: "@gitlab.com$", + * branchNameRegex: "(feat|fix)\\/*", + * commitCommitterCheck: true, + * commitCommitterNameCheck: true, + * commitMessageNegativeRegex: "ssh\\:\\/\\/", + * commitMessageRegex: "(feat|fix):.*", + * denyDeleteTag: false, + * fileNameRegex: "(jar|exe)$", + * maxFileSize: 4, + * memberCheck: true, + * preventSecrets: true, + * rejectUnsignedCommits: false, + * }); + * ``` + * + * ## Import + * + * Gitlab project push rules can be imported with a key composed of ``, e.g. + * + * ```sh + * $ pulumi import gitlab:index/projectPushRules:ProjectPushRules sample "42" + * ``` + */ +export class ProjectPushRules extends pulumi.CustomResource { + /** + * Get an existing ProjectPushRules resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: ProjectPushRulesState, opts?: pulumi.CustomResourceOptions): ProjectPushRules { + return new ProjectPushRules(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'gitlab:index/projectPushRules:ProjectPushRules'; + + /** + * Returns true if the given object is an instance of ProjectPushRules. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ProjectPushRules { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ProjectPushRules.__pulumiType; + } + + /** + * All commit author emails must match this regex, e.g. `@my-company.com$`. + */ + public readonly authorEmailRegex!: pulumi.Output; + /** + * All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + */ + public readonly branchNameRegex!: pulumi.Output; + /** + * Users can only push commits to this repository that were committed with one of their own verified emails. + */ + public readonly commitCommitterCheck!: pulumi.Output; + /** + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + */ + public readonly commitCommitterNameCheck!: pulumi.Output; + /** + * No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + */ + public readonly commitMessageNegativeRegex!: pulumi.Output; + /** + * All commit messages must match this regex, e.g. `Fixed \d+\..*`. + */ + public readonly commitMessageRegex!: pulumi.Output; + /** + * Deny deleting a tag. + */ + public readonly denyDeleteTag!: pulumi.Output; + /** + * All committed filenames must not match this regex, e.g. `(jar|exe)$`. + */ + public readonly fileNameRegex!: pulumi.Output; + /** + * Maximum file size (MB). + */ + public readonly maxFileSize!: pulumi.Output; + /** + * Restrict commits by author (email) to existing GitLab users. + */ + public readonly memberCheck!: pulumi.Output; + /** + * GitLab will reject any files that are likely to contain secrets. + */ + public readonly preventSecrets!: pulumi.Output; + /** + * The ID or URL-encoded path of the project. + */ + public readonly project!: pulumi.Output; + /** + * Reject commit when it’s not signed. + */ + public readonly rejectUnsignedCommits!: pulumi.Output; + + /** + * Create a ProjectPushRules resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: ProjectPushRulesArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ProjectPushRulesArgs | ProjectPushRulesState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ProjectPushRulesState | undefined; + resourceInputs["authorEmailRegex"] = state ? state.authorEmailRegex : undefined; + resourceInputs["branchNameRegex"] = state ? state.branchNameRegex : undefined; + resourceInputs["commitCommitterCheck"] = state ? state.commitCommitterCheck : undefined; + resourceInputs["commitCommitterNameCheck"] = state ? state.commitCommitterNameCheck : undefined; + resourceInputs["commitMessageNegativeRegex"] = state ? state.commitMessageNegativeRegex : undefined; + resourceInputs["commitMessageRegex"] = state ? state.commitMessageRegex : undefined; + resourceInputs["denyDeleteTag"] = state ? state.denyDeleteTag : undefined; + resourceInputs["fileNameRegex"] = state ? state.fileNameRegex : undefined; + resourceInputs["maxFileSize"] = state ? state.maxFileSize : undefined; + resourceInputs["memberCheck"] = state ? state.memberCheck : undefined; + resourceInputs["preventSecrets"] = state ? state.preventSecrets : undefined; + resourceInputs["project"] = state ? state.project : undefined; + resourceInputs["rejectUnsignedCommits"] = state ? state.rejectUnsignedCommits : undefined; + } else { + const args = argsOrState as ProjectPushRulesArgs | undefined; + if ((!args || args.project === undefined) && !opts.urn) { + throw new Error("Missing required property 'project'"); + } + resourceInputs["authorEmailRegex"] = args ? args.authorEmailRegex : undefined; + resourceInputs["branchNameRegex"] = args ? args.branchNameRegex : undefined; + resourceInputs["commitCommitterCheck"] = args ? args.commitCommitterCheck : undefined; + resourceInputs["commitCommitterNameCheck"] = args ? args.commitCommitterNameCheck : undefined; + resourceInputs["commitMessageNegativeRegex"] = args ? args.commitMessageNegativeRegex : undefined; + resourceInputs["commitMessageRegex"] = args ? args.commitMessageRegex : undefined; + resourceInputs["denyDeleteTag"] = args ? args.denyDeleteTag : undefined; + resourceInputs["fileNameRegex"] = args ? args.fileNameRegex : undefined; + resourceInputs["maxFileSize"] = args ? args.maxFileSize : undefined; + resourceInputs["memberCheck"] = args ? args.memberCheck : undefined; + resourceInputs["preventSecrets"] = args ? args.preventSecrets : undefined; + resourceInputs["project"] = args ? args.project : undefined; + resourceInputs["rejectUnsignedCommits"] = args ? args.rejectUnsignedCommits : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ProjectPushRules.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ProjectPushRules resources. + */ +export interface ProjectPushRulesState { + /** + * All commit author emails must match this regex, e.g. `@my-company.com$`. + */ + authorEmailRegex?: pulumi.Input; + /** + * All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + */ + branchNameRegex?: pulumi.Input; + /** + * Users can only push commits to this repository that were committed with one of their own verified emails. + */ + commitCommitterCheck?: pulumi.Input; + /** + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + */ + commitCommitterNameCheck?: pulumi.Input; + /** + * No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + */ + commitMessageNegativeRegex?: pulumi.Input; + /** + * All commit messages must match this regex, e.g. `Fixed \d+\..*`. + */ + commitMessageRegex?: pulumi.Input; + /** + * Deny deleting a tag. + */ + denyDeleteTag?: pulumi.Input; + /** + * All committed filenames must not match this regex, e.g. `(jar|exe)$`. + */ + fileNameRegex?: pulumi.Input; + /** + * Maximum file size (MB). + */ + maxFileSize?: pulumi.Input; + /** + * Restrict commits by author (email) to existing GitLab users. + */ + memberCheck?: pulumi.Input; + /** + * GitLab will reject any files that are likely to contain secrets. + */ + preventSecrets?: pulumi.Input; + /** + * The ID or URL-encoded path of the project. + */ + project?: pulumi.Input; + /** + * Reject commit when it’s not signed. + */ + rejectUnsignedCommits?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ProjectPushRules resource. + */ +export interface ProjectPushRulesArgs { + /** + * All commit author emails must match this regex, e.g. `@my-company.com$`. + */ + authorEmailRegex?: pulumi.Input; + /** + * All branch names must match this regex, e.g. `(feature|hotfix)\/*`. + */ + branchNameRegex?: pulumi.Input; + /** + * Users can only push commits to this repository that were committed with one of their own verified emails. + */ + commitCommitterCheck?: pulumi.Input; + /** + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + */ + commitCommitterNameCheck?: pulumi.Input; + /** + * No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. + */ + commitMessageNegativeRegex?: pulumi.Input; + /** + * All commit messages must match this regex, e.g. `Fixed \d+\..*`. + */ + commitMessageRegex?: pulumi.Input; + /** + * Deny deleting a tag. + */ + denyDeleteTag?: pulumi.Input; + /** + * All committed filenames must not match this regex, e.g. `(jar|exe)$`. + */ + fileNameRegex?: pulumi.Input; + /** + * Maximum file size (MB). + */ + maxFileSize?: pulumi.Input; + /** + * Restrict commits by author (email) to existing GitLab users. + */ + memberCheck?: pulumi.Input; + /** + * GitLab will reject any files that are likely to contain secrets. + */ + preventSecrets?: pulumi.Input; + /** + * The ID or URL-encoded path of the project. + */ + project: pulumi.Input; + /** + * Reject commit when it’s not signed. + */ + rejectUnsignedCommits?: pulumi.Input; +} diff --git a/sdk/nodejs/projectShareGroup.ts b/sdk/nodejs/projectShareGroup.ts index 0bd78137..6a731c7f 100644 --- a/sdk/nodejs/projectShareGroup.ts +++ b/sdk/nodejs/projectShareGroup.ts @@ -59,13 +59,13 @@ export class ProjectShareGroup extends pulumi.CustomResource { } /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated Use `groupAccess` instead of the `accessLevel` attribute. */ public readonly accessLevel!: pulumi.Output; /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ public readonly groupAccess!: pulumi.Output; /** @@ -117,13 +117,13 @@ export class ProjectShareGroup extends pulumi.CustomResource { */ export interface ProjectShareGroupState { /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated Use `groupAccess` instead of the `accessLevel` attribute. */ accessLevel?: pulumi.Input; /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ groupAccess?: pulumi.Input; /** @@ -141,13 +141,13 @@ export interface ProjectShareGroupState { */ export interface ProjectShareGroupArgs { /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` * * @deprecated Use `groupAccess` instead of the `accessLevel` attribute. */ accessLevel?: pulumi.Input; /** - * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + * The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` */ groupAccess?: pulumi.Input; /** diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 0af65cd5..60080633 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -91,6 +91,7 @@ "integrationEmailsOnPush.ts", "integrationExternalWiki.ts", "integrationGithub.ts", + "integrationJenkins.ts", "integrationJira.ts", "integrationMattermost.ts", "integrationMicrosoftTeams.ts", @@ -115,6 +116,7 @@ "projectIssue.ts", "projectIssueBoard.ts", "projectJobTokenScope.ts", + "projectJobTokenScopes.ts", "projectLabel.ts", "projectLevelMrApprovals.ts", "projectLevelNotifications.ts", @@ -122,6 +124,7 @@ "projectMilestone.ts", "projectMirror.ts", "projectProtectedEnvironment.ts", + "projectPushRules.ts", "projectRunnerEnablement.ts", "projectShareGroup.ts", "projectTag.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 1c54794a..18e77ae2 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -517,6 +517,10 @@ export interface GroupPushRules { * Only commits pushed using verified emails are allowed. **Note** This attribute is only supported in GitLab versions >= 16.4. */ commitCommitterCheck?: pulumi.Input; + /** + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + */ + commitCommitterNameCheck?: pulumi.Input; /** * No commit message is allowed to match this regex, for example `ssh\:\/\/`. */ @@ -709,7 +713,11 @@ export interface ProjectPushRules { */ commitCommitterCheck?: pulumi.Input; /** - * No commit message is allowed to match this regex, for example `ssh\:\/\/`. + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + */ + commitCommitterNameCheck?: pulumi.Input; + /** + * No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. */ commitMessageNegativeRegex?: pulumi.Input; /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 99ba3762..599f7fc1 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -330,7 +330,6 @@ export interface GetGroupSubgroupsSubgroup { createdAt: string; defaultBranchProtection: number; description: string; - emailsDisabled: boolean; emailsEnabled: boolean; fileTemplateProjectId: number; fullName: string; @@ -520,6 +519,10 @@ export interface GetInstanceDeployKeysDeployKeyProjectsWithWriteAccess { } export interface GetInstanceVariablesVariable { + /** + * The description of the variable. Maximum of 255 characters. + */ + description: string; /** * The name of the variable. */ @@ -1154,6 +1157,10 @@ export interface GetProjectPushRule { * Users can only push commits to this repository that were committed with one of their own verified emails. */ commitCommitterCheck: boolean; + /** + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + */ + commitCommitterNameCheck: boolean; /** * No commit message is allowed to match this regex, for example `ssh\:\/\/`. */ @@ -1494,12 +1501,6 @@ export interface GetProjectsProject { * The description of the project. */ description: string; - /** - * Disable email notifications. - * - * @deprecated Use of `emailsDisabled` is deprecated. Use `emailsEnabled` instead. - */ - emailsDisabled: boolean; /** * Enable email notifications. */ @@ -1673,10 +1674,6 @@ export interface GetProjectsProject { * Permissions for the project. */ permissions: outputs.GetProjectsProjectPermission[]; - /** - * Whether the project is public. - */ - public: boolean; /** * Whether public builds are enabled for the project. */ @@ -2288,6 +2285,10 @@ export interface GroupPushRules { * Only commits pushed using verified emails are allowed. **Note** This attribute is only supported in GitLab versions >= 16.4. */ commitCommitterCheck: boolean; + /** + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + */ + commitCommitterNameCheck: boolean; /** * No commit message is allowed to match this regex, for example `ssh\:\/\/`. */ @@ -2480,7 +2481,11 @@ export interface ProjectPushRules { */ commitCommitterCheck?: boolean; /** - * No commit message is allowed to match this regex, for example `ssh\:\/\/`. + * Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + */ + commitCommitterNameCheck?: boolean; + /** + * No commit message is allowed to match this regex, e.g. `ssh\:\/\/`. */ commitMessageNegativeRegex?: string; /** diff --git a/sdk/nodejs/userRunner.ts b/sdk/nodejs/userRunner.ts index 8d88be30..c6dcfa63 100644 --- a/sdk/nodejs/userRunner.ts +++ b/sdk/nodejs/userRunner.ts @@ -8,6 +8,69 @@ import * as utilities from "./utilities"; * The `gitlab.UserRunner` resource allows creating a GitLab runner using the new [GitLab Runner Registration Flow](https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html). * * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html#create-a-runner) + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as gitlab from "@pulumi/gitlab"; + * + * // Create a project runner + * const projectRunner = new gitlab.UserRunner("project_runner", { + * runnerType: "project_type", + * projectId: 123456, + * description: "A runner created using a user access token instead of a registration token", + * tagLists: [ + * "a-tag", + * "other-tag", + * ], + * untagged: true, + * }); + * // Create a group runner + * const groupRunner = new gitlab.UserRunner("group_runner", { + * runnerType: "group_type", + * groupId: 123456, + * }); + * // Create a instance runner + * const instanceRunner = new gitlab.UserRunner("instance_runner", {runnerType: "instance_type"}); + * const configToml = pulumi.interpolate`concurrent = 1 + * check_interval = 0 + * + * [session_server] + * session_timeout = 1800 + * + * [[runners]] + * name = "my_gitlab_runner" + * url = "https://example.gitlab.com" + * token = "${groupRunner.token}" + * executor = "docker" + * + * [runners.custom_build_dir] + * [runners.cache] + * [runners.cache.s3] + * [runners.cache.gcs] + * [runners.cache.azure] + * [runners.docker] + * tls_verify = false + * image = "ubuntu" + * privileged = true + * disable_entrypoint_overwrite = false + * oom_kill_disable = false + * disable_cache = false + * volumes = ["/cache", "/certs/client"] + * shm_size = 0 + * `; + * ``` + * + * ## Import + * + * You can import a gitlab runner using its ID + * + * Note: Importing a runner will not provide access to the `token` attribute + * + * ```sh + * $ pulumi import gitlab:index/userRunner:UserRunner example 12345 + * ``` */ export class UserRunner extends pulumi.CustomResource { /** diff --git a/sdk/python/pulumi_gitlab/__init__.py b/sdk/python/pulumi_gitlab/__init__.py index 01760ca4..2e0ae13b 100644 --- a/sdk/python/pulumi_gitlab/__init__.py +++ b/sdk/python/pulumi_gitlab/__init__.py @@ -80,6 +80,7 @@ from .integration_emails_on_push import * from .integration_external_wiki import * from .integration_github import * +from .integration_jenkins import * from .integration_jira import * from .integration_mattermost import * from .integration_microsoft_teams import * @@ -104,6 +105,7 @@ from .project_issue import * from .project_issue_board import * from .project_job_token_scope import * +from .project_job_token_scopes import * from .project_label import * from .project_level_mr_approvals import * from .project_level_notifications import * @@ -111,6 +113,7 @@ from .project_milestone import * from .project_mirror import * from .project_protected_environment import * +from .project_push_rules import * from .project_runner_enablement import * from .project_share_group import * from .project_tag import * @@ -412,6 +415,14 @@ "gitlab:index/integrationGithub:IntegrationGithub": "IntegrationGithub" } }, + { + "pkg": "gitlab", + "mod": "index/integrationJenkins", + "fqn": "pulumi_gitlab", + "classes": { + "gitlab:index/integrationJenkins:IntegrationJenkins": "IntegrationJenkins" + } + }, { "pkg": "gitlab", "mod": "index/integrationJira", @@ -604,6 +615,14 @@ "gitlab:index/projectJobTokenScope:ProjectJobTokenScope": "ProjectJobTokenScope" } }, + { + "pkg": "gitlab", + "mod": "index/projectJobTokenScopes", + "fqn": "pulumi_gitlab", + "classes": { + "gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes": "ProjectJobTokenScopes" + } + }, { "pkg": "gitlab", "mod": "index/projectLabel", @@ -660,6 +679,14 @@ "gitlab:index/projectProtectedEnvironment:ProjectProtectedEnvironment": "ProjectProtectedEnvironment" } }, + { + "pkg": "gitlab", + "mod": "index/projectPushRules", + "fqn": "pulumi_gitlab", + "classes": { + "gitlab:index/projectPushRules:ProjectPushRules": "ProjectPushRules" + } + }, { "pkg": "gitlab", "mod": "index/projectRunnerEnablement", diff --git a/sdk/python/pulumi_gitlab/_inputs.py b/sdk/python/pulumi_gitlab/_inputs.py index 1aca31a0..bf87d781 100644 --- a/sdk/python/pulumi_gitlab/_inputs.py +++ b/sdk/python/pulumi_gitlab/_inputs.py @@ -811,6 +811,7 @@ def __init__(__self__, *, author_email_regex: Optional[pulumi.Input[str]] = None, branch_name_regex: Optional[pulumi.Input[str]] = None, commit_committer_check: Optional[pulumi.Input[bool]] = None, + commit_committer_name_check: Optional[pulumi.Input[bool]] = None, commit_message_negative_regex: Optional[pulumi.Input[str]] = None, commit_message_regex: Optional[pulumi.Input[str]] = None, deny_delete_tag: Optional[pulumi.Input[bool]] = None, @@ -823,6 +824,7 @@ def __init__(__self__, *, :param pulumi.Input[str] author_email_regex: All commit author emails must match this regex, e.g. `@my-company.com$`. :param pulumi.Input[str] branch_name_regex: All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. :param pulumi.Input[bool] commit_committer_check: Only commits pushed using verified emails are allowed. **Note** This attribute is only supported in GitLab versions >= 16.4. + :param pulumi.Input[bool] commit_committer_name_check: Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. :param pulumi.Input[str] commit_message_negative_regex: No commit message is allowed to match this regex, for example `ssh\\:\\/\\/`. :param pulumi.Input[str] commit_message_regex: All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. :param pulumi.Input[bool] deny_delete_tag: Deny deleting a tag. @@ -838,6 +840,8 @@ def __init__(__self__, *, pulumi.set(__self__, "branch_name_regex", branch_name_regex) if commit_committer_check is not None: pulumi.set(__self__, "commit_committer_check", commit_committer_check) + if commit_committer_name_check is not None: + pulumi.set(__self__, "commit_committer_name_check", commit_committer_name_check) if commit_message_negative_regex is not None: pulumi.set(__self__, "commit_message_negative_regex", commit_message_negative_regex) if commit_message_regex is not None: @@ -891,6 +895,18 @@ def commit_committer_check(self) -> Optional[pulumi.Input[bool]]: def commit_committer_check(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "commit_committer_check", value) + @property + @pulumi.getter(name="commitCommitterNameCheck") + def commit_committer_name_check(self) -> Optional[pulumi.Input[bool]]: + """ + Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + """ + return pulumi.get(self, "commit_committer_name_check") + + @commit_committer_name_check.setter + def commit_committer_name_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "commit_committer_name_check", value) + @property @pulumi.getter(name="commitMessageNegativeRegex") def commit_message_negative_regex(self) -> Optional[pulumi.Input[str]]: @@ -1536,6 +1552,7 @@ def __init__(__self__, *, author_email_regex: Optional[pulumi.Input[str]] = None, branch_name_regex: Optional[pulumi.Input[str]] = None, commit_committer_check: Optional[pulumi.Input[bool]] = None, + commit_committer_name_check: Optional[pulumi.Input[bool]] = None, commit_message_negative_regex: Optional[pulumi.Input[str]] = None, commit_message_regex: Optional[pulumi.Input[str]] = None, deny_delete_tag: Optional[pulumi.Input[bool]] = None, @@ -1548,7 +1565,8 @@ def __init__(__self__, *, :param pulumi.Input[str] author_email_regex: All commit author emails must match this regex, e.g. `@my-company.com$`. :param pulumi.Input[str] branch_name_regex: All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. :param pulumi.Input[bool] commit_committer_check: Users can only push commits to this repository that were committed with one of their own verified emails. - :param pulumi.Input[str] commit_message_negative_regex: No commit message is allowed to match this regex, for example `ssh\\:\\/\\/`. + :param pulumi.Input[bool] commit_committer_name_check: Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + :param pulumi.Input[str] commit_message_negative_regex: No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`. :param pulumi.Input[str] commit_message_regex: All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. :param pulumi.Input[bool] deny_delete_tag: Deny deleting a tag. :param pulumi.Input[str] file_name_regex: All committed filenames must not match this regex, e.g. `(jar|exe)$`. @@ -1563,6 +1581,8 @@ def __init__(__self__, *, pulumi.set(__self__, "branch_name_regex", branch_name_regex) if commit_committer_check is not None: pulumi.set(__self__, "commit_committer_check", commit_committer_check) + if commit_committer_name_check is not None: + pulumi.set(__self__, "commit_committer_name_check", commit_committer_name_check) if commit_message_negative_regex is not None: pulumi.set(__self__, "commit_message_negative_regex", commit_message_negative_regex) if commit_message_regex is not None: @@ -1616,11 +1636,23 @@ def commit_committer_check(self) -> Optional[pulumi.Input[bool]]: def commit_committer_check(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "commit_committer_check", value) + @property + @pulumi.getter(name="commitCommitterNameCheck") + def commit_committer_name_check(self) -> Optional[pulumi.Input[bool]]: + """ + Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + """ + return pulumi.get(self, "commit_committer_name_check") + + @commit_committer_name_check.setter + def commit_committer_name_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "commit_committer_name_check", value) + @property @pulumi.getter(name="commitMessageNegativeRegex") def commit_message_negative_regex(self) -> Optional[pulumi.Input[str]]: """ - No commit message is allowed to match this regex, for example `ssh\\:\\/\\/`. + No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`. """ return pulumi.get(self, "commit_message_negative_regex") diff --git a/sdk/python/pulumi_gitlab/application_settings.py b/sdk/python/pulumi_gitlab/application_settings.py index e5ca28d3..fa471609 100644 --- a/sdk/python/pulumi_gitlab/application_settings.py +++ b/sdk/python/pulumi_gitlab/application_settings.py @@ -151,6 +151,7 @@ def __init__(__self__, *, max_personal_access_token_lifetime: Optional[pulumi.Input[int]] = None, max_ssh_key_lifetime: Optional[pulumi.Input[int]] = None, metrics_method_call_threshold: Optional[pulumi.Input[int]] = None, + minimum_password_length: Optional[pulumi.Input[int]] = None, mirror_available: Optional[pulumi.Input[bool]] = None, mirror_capacity_threshold: Optional[pulumi.Input[int]] = None, mirror_max_capacity: Optional[pulumi.Input[int]] = None, @@ -396,6 +397,7 @@ def __init__(__self__, *, :param pulumi.Input[int] max_personal_access_token_lifetime: Maximum allowable lifetime for access tokens in days. :param pulumi.Input[int] max_ssh_key_lifetime: Maximum allowable lifetime for SSH keys in days. Introduced in GitLab 14.6. :param pulumi.Input[int] metrics_method_call_threshold: A method call is only tracked when it takes longer than the given amount of milliseconds. + :param pulumi.Input[int] minimum_password_length: Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. :param pulumi.Input[bool] mirror_available: Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. :param pulumi.Input[int] mirror_capacity_threshold: Minimum capacity to be available before scheduling more mirrors preemptively. :param pulumi.Input[int] mirror_max_capacity: Maximum number of mirrors that can be synchronizing at the same time. @@ -784,6 +786,8 @@ def __init__(__self__, *, pulumi.set(__self__, "max_ssh_key_lifetime", max_ssh_key_lifetime) if metrics_method_call_threshold is not None: pulumi.set(__self__, "metrics_method_call_threshold", metrics_method_call_threshold) + if minimum_password_length is not None: + pulumi.set(__self__, "minimum_password_length", minimum_password_length) if mirror_available is not None: pulumi.set(__self__, "mirror_available", mirror_available) if mirror_capacity_threshold is not None: @@ -2648,6 +2652,18 @@ def metrics_method_call_threshold(self) -> Optional[pulumi.Input[int]]: def metrics_method_call_threshold(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "metrics_method_call_threshold", value) + @property + @pulumi.getter(name="minimumPasswordLength") + def minimum_password_length(self) -> Optional[pulumi.Input[int]]: + """ + Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + """ + return pulumi.get(self, "minimum_password_length") + + @minimum_password_length.setter + def minimum_password_length(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "minimum_password_length", value) + @property @pulumi.getter(name="mirrorAvailable") def mirror_available(self) -> Optional[pulumi.Input[bool]]: @@ -4037,6 +4053,7 @@ def __init__(__self__, *, max_personal_access_token_lifetime: Optional[pulumi.Input[int]] = None, max_ssh_key_lifetime: Optional[pulumi.Input[int]] = None, metrics_method_call_threshold: Optional[pulumi.Input[int]] = None, + minimum_password_length: Optional[pulumi.Input[int]] = None, mirror_available: Optional[pulumi.Input[bool]] = None, mirror_capacity_threshold: Optional[pulumi.Input[int]] = None, mirror_max_capacity: Optional[pulumi.Input[int]] = None, @@ -4282,6 +4299,7 @@ def __init__(__self__, *, :param pulumi.Input[int] max_personal_access_token_lifetime: Maximum allowable lifetime for access tokens in days. :param pulumi.Input[int] max_ssh_key_lifetime: Maximum allowable lifetime for SSH keys in days. Introduced in GitLab 14.6. :param pulumi.Input[int] metrics_method_call_threshold: A method call is only tracked when it takes longer than the given amount of milliseconds. + :param pulumi.Input[int] minimum_password_length: Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. :param pulumi.Input[bool] mirror_available: Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. :param pulumi.Input[int] mirror_capacity_threshold: Minimum capacity to be available before scheduling more mirrors preemptively. :param pulumi.Input[int] mirror_max_capacity: Maximum number of mirrors that can be synchronizing at the same time. @@ -4670,6 +4688,8 @@ def __init__(__self__, *, pulumi.set(__self__, "max_ssh_key_lifetime", max_ssh_key_lifetime) if metrics_method_call_threshold is not None: pulumi.set(__self__, "metrics_method_call_threshold", metrics_method_call_threshold) + if minimum_password_length is not None: + pulumi.set(__self__, "minimum_password_length", minimum_password_length) if mirror_available is not None: pulumi.set(__self__, "mirror_available", mirror_available) if mirror_capacity_threshold is not None: @@ -6534,6 +6554,18 @@ def metrics_method_call_threshold(self) -> Optional[pulumi.Input[int]]: def metrics_method_call_threshold(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "metrics_method_call_threshold", value) + @property + @pulumi.getter(name="minimumPasswordLength") + def minimum_password_length(self) -> Optional[pulumi.Input[int]]: + """ + Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + """ + return pulumi.get(self, "minimum_password_length") + + @minimum_password_length.setter + def minimum_password_length(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "minimum_password_length", value) + @property @pulumi.getter(name="mirrorAvailable") def mirror_available(self) -> Optional[pulumi.Input[bool]]: @@ -7925,6 +7957,7 @@ def __init__(__self__, max_personal_access_token_lifetime: Optional[pulumi.Input[int]] = None, max_ssh_key_lifetime: Optional[pulumi.Input[int]] = None, metrics_method_call_threshold: Optional[pulumi.Input[int]] = None, + minimum_password_length: Optional[pulumi.Input[int]] = None, mirror_available: Optional[pulumi.Input[bool]] = None, mirror_capacity_threshold: Optional[pulumi.Input[int]] = None, mirror_max_capacity: Optional[pulumi.Input[int]] = None, @@ -8174,6 +8207,7 @@ def __init__(__self__, :param pulumi.Input[int] max_personal_access_token_lifetime: Maximum allowable lifetime for access tokens in days. :param pulumi.Input[int] max_ssh_key_lifetime: Maximum allowable lifetime for SSH keys in days. Introduced in GitLab 14.6. :param pulumi.Input[int] metrics_method_call_threshold: A method call is only tracked when it takes longer than the given amount of milliseconds. + :param pulumi.Input[int] minimum_password_length: Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. :param pulumi.Input[bool] mirror_available: Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. :param pulumi.Input[int] mirror_capacity_threshold: Minimum capacity to be available before scheduling more mirrors preemptively. :param pulumi.Input[int] mirror_max_capacity: Maximum number of mirrors that can be synchronizing at the same time. @@ -8440,6 +8474,7 @@ def _internal_init(__self__, max_personal_access_token_lifetime: Optional[pulumi.Input[int]] = None, max_ssh_key_lifetime: Optional[pulumi.Input[int]] = None, metrics_method_call_threshold: Optional[pulumi.Input[int]] = None, + minimum_password_length: Optional[pulumi.Input[int]] = None, mirror_available: Optional[pulumi.Input[bool]] = None, mirror_capacity_threshold: Optional[pulumi.Input[int]] = None, mirror_max_capacity: Optional[pulumi.Input[int]] = None, @@ -8690,6 +8725,7 @@ def _internal_init(__self__, __props__.__dict__["max_personal_access_token_lifetime"] = max_personal_access_token_lifetime __props__.__dict__["max_ssh_key_lifetime"] = max_ssh_key_lifetime __props__.__dict__["metrics_method_call_threshold"] = metrics_method_call_threshold + __props__.__dict__["minimum_password_length"] = minimum_password_length __props__.__dict__["mirror_available"] = mirror_available __props__.__dict__["mirror_capacity_threshold"] = mirror_capacity_threshold __props__.__dict__["mirror_max_capacity"] = mirror_max_capacity @@ -8943,6 +8979,7 @@ def get(resource_name: str, max_personal_access_token_lifetime: Optional[pulumi.Input[int]] = None, max_ssh_key_lifetime: Optional[pulumi.Input[int]] = None, metrics_method_call_threshold: Optional[pulumi.Input[int]] = None, + minimum_password_length: Optional[pulumi.Input[int]] = None, mirror_available: Optional[pulumi.Input[bool]] = None, mirror_capacity_threshold: Optional[pulumi.Input[int]] = None, mirror_max_capacity: Optional[pulumi.Input[int]] = None, @@ -9193,6 +9230,7 @@ def get(resource_name: str, :param pulumi.Input[int] max_personal_access_token_lifetime: Maximum allowable lifetime for access tokens in days. :param pulumi.Input[int] max_ssh_key_lifetime: Maximum allowable lifetime for SSH keys in days. Introduced in GitLab 14.6. :param pulumi.Input[int] metrics_method_call_threshold: A method call is only tracked when it takes longer than the given amount of milliseconds. + :param pulumi.Input[int] minimum_password_length: Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. :param pulumi.Input[bool] mirror_available: Allow repository mirroring to configured by project Maintainers. If disabled, only Administrators can configure repository mirroring. :param pulumi.Input[int] mirror_capacity_threshold: Minimum capacity to be available before scheduling more mirrors preemptively. :param pulumi.Input[int] mirror_max_capacity: Maximum number of mirrors that can be synchronizing at the same time. @@ -9439,6 +9477,7 @@ def get(resource_name: str, __props__.__dict__["max_personal_access_token_lifetime"] = max_personal_access_token_lifetime __props__.__dict__["max_ssh_key_lifetime"] = max_ssh_key_lifetime __props__.__dict__["metrics_method_call_threshold"] = metrics_method_call_threshold + __props__.__dict__["minimum_password_length"] = minimum_password_length __props__.__dict__["mirror_available"] = mirror_available __props__.__dict__["mirror_capacity_threshold"] = mirror_capacity_threshold __props__.__dict__["mirror_max_capacity"] = mirror_max_capacity @@ -10652,6 +10691,14 @@ def metrics_method_call_threshold(self) -> pulumi.Output[int]: """ return pulumi.get(self, "metrics_method_call_threshold") + @property + @pulumi.getter(name="minimumPasswordLength") + def minimum_password_length(self) -> pulumi.Output[int]: + """ + Indicates whether passwords require a minimum length. Introduced in GitLab 15.1. Premium and Ultimate only. + """ + return pulumi.get(self, "minimum_password_length") + @property @pulumi.getter(name="mirrorAvailable") def mirror_available(self) -> pulumi.Output[bool]: diff --git a/sdk/python/pulumi_gitlab/get_instance_variable.py b/sdk/python/pulumi_gitlab/get_instance_variable.py index 39aab614..c0303fb2 100644 --- a/sdk/python/pulumi_gitlab/get_instance_variable.py +++ b/sdk/python/pulumi_gitlab/get_instance_variable.py @@ -21,7 +21,10 @@ class GetInstanceVariableResult: """ A collection of values returned by getInstanceVariable. """ - def __init__(__self__, id=None, key=None, masked=None, protected=None, raw=None, value=None, variable_type=None): + def __init__(__self__, description=None, id=None, key=None, masked=None, protected=None, raw=None, value=None, variable_type=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -44,6 +47,14 @@ def __init__(__self__, id=None, key=None, masked=None, protected=None, raw=None, raise TypeError("Expected argument 'variable_type' to be a str") pulumi.set(__self__, "variable_type", variable_type) + @property + @pulumi.getter + def description(self) -> str: + """ + The description of the variable. Maximum of 255 characters. + """ + return pulumi.get(self, "description") + @property @pulumi.getter def id(self) -> str: @@ -107,6 +118,7 @@ def __await__(self): if False: yield self return GetInstanceVariableResult( + description=self.description, id=self.id, key=self.key, masked=self.masked, @@ -141,6 +153,7 @@ def get_instance_variable(key: Optional[str] = None, __ret__ = pulumi.runtime.invoke('gitlab:index/getInstanceVariable:getInstanceVariable', __args__, opts=opts, typ=GetInstanceVariableResult).value return AwaitableGetInstanceVariableResult( + description=pulumi.get(__ret__, 'description'), id=pulumi.get(__ret__, 'id'), key=pulumi.get(__ret__, 'key'), masked=pulumi.get(__ret__, 'masked'), diff --git a/sdk/python/pulumi_gitlab/get_project.py b/sdk/python/pulumi_gitlab/get_project.py index 1a4bdf93..f7739062 100644 --- a/sdk/python/pulumi_gitlab/get_project.py +++ b/sdk/python/pulumi_gitlab/get_project.py @@ -22,7 +22,7 @@ class GetProjectResult: """ A collection of values returned by getProject. """ - def __init__(__self__, analytics_access_level=None, archived=None, auto_cancel_pending_pipelines=None, auto_devops_deploy_strategy=None, auto_devops_enabled=None, autoclose_referenced_issues=None, build_git_strategy=None, build_timeout=None, builds_access_level=None, ci_config_path=None, ci_default_git_depth=None, ci_restrict_pipeline_cancellation_role=None, ci_separated_caches=None, container_expiration_policies=None, container_registry_access_level=None, default_branch=None, description=None, emails_disabled=None, emails_enabled=None, empty_repo=None, environments_access_level=None, external_authorization_classification_label=None, feature_flags_access_level=None, forking_access_level=None, http_url_to_repo=None, id=None, import_url=None, infrastructure_access_level=None, issues_access_level=None, issues_enabled=None, keep_latest_artifact=None, lfs_enabled=None, merge_commit_template=None, merge_pipelines_enabled=None, merge_requests_access_level=None, merge_requests_enabled=None, merge_trains_enabled=None, monitor_access_level=None, name=None, namespace_id=None, path=None, path_with_namespace=None, pipelines_enabled=None, printing_merge_request_link_enabled=None, public_builds=None, push_rules=None, releases_access_level=None, remove_source_branch_after_merge=None, repository_access_level=None, repository_storage=None, request_access_enabled=None, requirements_access_level=None, resolve_outdated_diff_discussions=None, restrict_user_defined_variables=None, runners_token=None, security_and_compliance_access_level=None, shared_with_groups=None, snippets_access_level=None, snippets_enabled=None, squash_commit_template=None, ssh_url_to_repo=None, suggestion_commit_message=None, topics=None, visibility_level=None, web_url=None, wiki_access_level=None, wiki_enabled=None): + def __init__(__self__, analytics_access_level=None, archived=None, auto_cancel_pending_pipelines=None, auto_devops_deploy_strategy=None, auto_devops_enabled=None, autoclose_referenced_issues=None, build_git_strategy=None, build_timeout=None, builds_access_level=None, ci_config_path=None, ci_default_git_depth=None, ci_restrict_pipeline_cancellation_role=None, ci_separated_caches=None, container_expiration_policies=None, container_registry_access_level=None, default_branch=None, description=None, emails_enabled=None, empty_repo=None, environments_access_level=None, external_authorization_classification_label=None, feature_flags_access_level=None, forking_access_level=None, http_url_to_repo=None, id=None, import_url=None, infrastructure_access_level=None, issues_access_level=None, issues_enabled=None, keep_latest_artifact=None, lfs_enabled=None, merge_commit_template=None, merge_pipelines_enabled=None, merge_requests_access_level=None, merge_requests_enabled=None, merge_trains_enabled=None, monitor_access_level=None, name=None, namespace_id=None, path=None, path_with_namespace=None, pipelines_enabled=None, printing_merge_request_link_enabled=None, public_builds=None, push_rules=None, releases_access_level=None, remove_source_branch_after_merge=None, repository_access_level=None, repository_storage=None, request_access_enabled=None, requirements_access_level=None, resolve_outdated_diff_discussions=None, restrict_user_defined_variables=None, runners_token=None, security_and_compliance_access_level=None, shared_with_groups=None, snippets_access_level=None, snippets_enabled=None, squash_commit_template=None, ssh_url_to_repo=None, suggestion_commit_message=None, topics=None, visibility_level=None, web_url=None, wiki_access_level=None, wiki_enabled=None): if analytics_access_level and not isinstance(analytics_access_level, str): raise TypeError("Expected argument 'analytics_access_level' to be a str") pulumi.set(__self__, "analytics_access_level", analytics_access_level) @@ -74,9 +74,6 @@ def __init__(__self__, analytics_access_level=None, archived=None, auto_cancel_p if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) - if emails_disabled and not isinstance(emails_disabled, bool): - raise TypeError("Expected argument 'emails_disabled' to be a bool") - pulumi.set(__self__, "emails_disabled", emails_disabled) if emails_enabled and not isinstance(emails_enabled, bool): raise TypeError("Expected argument 'emails_enabled' to be a bool") pulumi.set(__self__, "emails_enabled", emails_enabled) @@ -361,17 +358,6 @@ def description(self) -> str: """ return pulumi.get(self, "description") - @property - @pulumi.getter(name="emailsDisabled") - def emails_disabled(self) -> bool: - """ - Disable email notifications. - """ - warnings.warn("""Use of `emails_disabled` is deprecated. Use `emails_enabled` instead.""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: Use of `emails_disabled` is deprecated. Use `emails_enabled` instead.""") - - return pulumi.get(self, "emails_disabled") - @property @pulumi.getter(name="emailsEnabled") def emails_enabled(self) -> bool: @@ -788,7 +774,6 @@ def __await__(self): container_registry_access_level=self.container_registry_access_level, default_branch=self.default_branch, description=self.description, - emails_disabled=self.emails_disabled, emails_enabled=self.emails_enabled, empty_repo=self.empty_repo, environments_access_level=self.environments_access_level, @@ -882,7 +867,6 @@ def get_project(ci_default_git_depth: Optional[int] = None, container_registry_access_level=pulumi.get(__ret__, 'container_registry_access_level'), default_branch=pulumi.get(__ret__, 'default_branch'), description=pulumi.get(__ret__, 'description'), - emails_disabled=pulumi.get(__ret__, 'emails_disabled'), emails_enabled=pulumi.get(__ret__, 'emails_enabled'), empty_repo=pulumi.get(__ret__, 'empty_repo'), environments_access_level=pulumi.get(__ret__, 'environments_access_level'), diff --git a/sdk/python/pulumi_gitlab/group.py b/sdk/python/pulumi_gitlab/group.py index 0729c111..2a0266a9 100644 --- a/sdk/python/pulumi_gitlab/group.py +++ b/sdk/python/pulumi_gitlab/group.py @@ -22,7 +22,6 @@ def __init__(__self__, *, avatar_hash: Optional[pulumi.Input[str]] = None, default_branch_protection: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, - emails_disabled: Optional[pulumi.Input[bool]] = None, emails_enabled: Optional[pulumi.Input[bool]] = None, extra_shared_runners_minutes_limit: Optional[pulumi.Input[int]] = None, ip_restriction_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -51,7 +50,6 @@ def __init__(__self__, *, :param pulumi.Input[str] avatar_hash: The hash of the avatar image. Use `filesha256("path/to/avatar.png")` whenever possible. **Note**: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. :param pulumi.Input[int] default_branch_protection: See https://docs.gitlab.com/ee/api/groups.html#options-for-default*branch*protection. Valid values are: `0`, `1`, `2`, `3`, `4`. :param pulumi.Input[str] description: The group's description. - :param pulumi.Input[bool] emails_disabled: Disable email notifications. :param pulumi.Input[bool] emails_enabled: Enable email notifications. :param pulumi.Input[int] extra_shared_runners_minutes_limit: Can be set by administrators only. Additional CI/CD minutes for this group. :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_restriction_ranges: A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups. @@ -84,11 +82,6 @@ def __init__(__self__, *, pulumi.set(__self__, "default_branch_protection", default_branch_protection) if description is not None: pulumi.set(__self__, "description", description) - if emails_disabled is not None: - warnings.warn("""use `emails_enabled` instead""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: use `emails_enabled` instead""") - if emails_disabled is not None: - pulumi.set(__self__, "emails_disabled", emails_disabled) if emails_enabled is not None: pulumi.set(__self__, "emails_enabled", emails_enabled) if extra_shared_runners_minutes_limit is not None: @@ -202,21 +195,6 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) - @property - @pulumi.getter(name="emailsDisabled") - def emails_disabled(self) -> Optional[pulumi.Input[bool]]: - """ - Disable email notifications. - """ - warnings.warn("""use `emails_enabled` instead""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: use `emails_enabled` instead""") - - return pulumi.get(self, "emails_disabled") - - @emails_disabled.setter - def emails_disabled(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "emails_disabled", value) - @property @pulumi.getter(name="emailsEnabled") def emails_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -467,7 +445,6 @@ def __init__(__self__, *, avatar_url: Optional[pulumi.Input[str]] = None, default_branch_protection: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, - emails_disabled: Optional[pulumi.Input[bool]] = None, emails_enabled: Optional[pulumi.Input[bool]] = None, extra_shared_runners_minutes_limit: Optional[pulumi.Input[int]] = None, full_name: Optional[pulumi.Input[str]] = None, @@ -501,7 +478,6 @@ def __init__(__self__, *, :param pulumi.Input[str] avatar_url: The URL of the avatar image. :param pulumi.Input[int] default_branch_protection: See https://docs.gitlab.com/ee/api/groups.html#options-for-default*branch*protection. Valid values are: `0`, `1`, `2`, `3`, `4`. :param pulumi.Input[str] description: The group's description. - :param pulumi.Input[bool] emails_disabled: Disable email notifications. :param pulumi.Input[bool] emails_enabled: Enable email notifications. :param pulumi.Input[int] extra_shared_runners_minutes_limit: Can be set by administrators only. Additional CI/CD minutes for this group. :param pulumi.Input[str] full_name: The full name of the group. @@ -540,11 +516,6 @@ def __init__(__self__, *, pulumi.set(__self__, "default_branch_protection", default_branch_protection) if description is not None: pulumi.set(__self__, "description", description) - if emails_disabled is not None: - warnings.warn("""use `emails_enabled` instead""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: use `emails_enabled` instead""") - if emails_disabled is not None: - pulumi.set(__self__, "emails_disabled", emails_disabled) if emails_enabled is not None: pulumi.set(__self__, "emails_enabled", emails_enabled) if extra_shared_runners_minutes_limit is not None: @@ -668,21 +639,6 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) - @property - @pulumi.getter(name="emailsDisabled") - def emails_disabled(self) -> Optional[pulumi.Input[bool]]: - """ - Disable email notifications. - """ - warnings.warn("""use `emails_enabled` instead""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: use `emails_enabled` instead""") - - return pulumi.get(self, "emails_disabled") - - @emails_disabled.setter - def emails_disabled(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "emails_disabled", value) - @property @pulumi.getter(name="emailsEnabled") def emails_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -994,7 +950,6 @@ def __init__(__self__, avatar_hash: Optional[pulumi.Input[str]] = None, default_branch_protection: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, - emails_disabled: Optional[pulumi.Input[bool]] = None, emails_enabled: Optional[pulumi.Input[bool]] = None, extra_shared_runners_minutes_limit: Optional[pulumi.Input[int]] = None, ip_restriction_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1073,7 +1028,6 @@ def __init__(__self__, :param pulumi.Input[str] avatar_hash: The hash of the avatar image. Use `filesha256("path/to/avatar.png")` whenever possible. **Note**: this is used to trigger an update of the avatar. If it's not given, but an avatar is given, the avatar will be updated each time. :param pulumi.Input[int] default_branch_protection: See https://docs.gitlab.com/ee/api/groups.html#options-for-default*branch*protection. Valid values are: `0`, `1`, `2`, `3`, `4`. :param pulumi.Input[str] description: The group's description. - :param pulumi.Input[bool] emails_disabled: Disable email notifications. :param pulumi.Input[bool] emails_enabled: Enable email notifications. :param pulumi.Input[int] extra_shared_runners_minutes_limit: Can be set by administrators only. Additional CI/CD minutes for this group. :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_restriction_ranges: A list of IP addresses or subnet masks to restrict group access. Will be concatenated together into a comma separated string. Only allowed on top level groups. @@ -1171,7 +1125,6 @@ def _internal_init(__self__, avatar_hash: Optional[pulumi.Input[str]] = None, default_branch_protection: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, - emails_disabled: Optional[pulumi.Input[bool]] = None, emails_enabled: Optional[pulumi.Input[bool]] = None, extra_shared_runners_minutes_limit: Optional[pulumi.Input[int]] = None, ip_restriction_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1207,7 +1160,6 @@ def _internal_init(__self__, __props__.__dict__["avatar_hash"] = avatar_hash __props__.__dict__["default_branch_protection"] = default_branch_protection __props__.__dict__["description"] = description - __props__.__dict__["emails_disabled"] = emails_disabled __props__.__dict__["emails_enabled"] = emails_enabled __props__.__dict__["extra_shared_runners_minutes_limit"] = extra_shared_runners_minutes_limit __props__.__dict__["ip_restriction_ranges"] = ip_restriction_ranges @@ -1254,7 +1206,6 @@ def get(resource_name: str, avatar_url: Optional[pulumi.Input[str]] = None, default_branch_protection: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, - emails_disabled: Optional[pulumi.Input[bool]] = None, emails_enabled: Optional[pulumi.Input[bool]] = None, extra_shared_runners_minutes_limit: Optional[pulumi.Input[int]] = None, full_name: Optional[pulumi.Input[str]] = None, @@ -1293,7 +1244,6 @@ def get(resource_name: str, :param pulumi.Input[str] avatar_url: The URL of the avatar image. :param pulumi.Input[int] default_branch_protection: See https://docs.gitlab.com/ee/api/groups.html#options-for-default*branch*protection. Valid values are: `0`, `1`, `2`, `3`, `4`. :param pulumi.Input[str] description: The group's description. - :param pulumi.Input[bool] emails_disabled: Disable email notifications. :param pulumi.Input[bool] emails_enabled: Enable email notifications. :param pulumi.Input[int] extra_shared_runners_minutes_limit: Can be set by administrators only. Additional CI/CD minutes for this group. :param pulumi.Input[str] full_name: The full name of the group. @@ -1330,7 +1280,6 @@ def get(resource_name: str, __props__.__dict__["avatar_url"] = avatar_url __props__.__dict__["default_branch_protection"] = default_branch_protection __props__.__dict__["description"] = description - __props__.__dict__["emails_disabled"] = emails_disabled __props__.__dict__["emails_enabled"] = emails_enabled __props__.__dict__["extra_shared_runners_minutes_limit"] = extra_shared_runners_minutes_limit __props__.__dict__["full_name"] = full_name @@ -1406,17 +1355,6 @@ def description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "description") - @property - @pulumi.getter(name="emailsDisabled") - def emails_disabled(self) -> pulumi.Output[bool]: - """ - Disable email notifications. - """ - warnings.warn("""use `emails_enabled` instead""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: use `emails_enabled` instead""") - - return pulumi.get(self, "emails_disabled") - @property @pulumi.getter(name="emailsEnabled") def emails_enabled(self) -> pulumi.Output[bool]: diff --git a/sdk/python/pulumi_gitlab/group_access_token.py b/sdk/python/pulumi_gitlab/group_access_token.py index 699d4359..1ad5de05 100644 --- a/sdk/python/pulumi_gitlab/group_access_token.py +++ b/sdk/python/pulumi_gitlab/group_access_token.py @@ -26,7 +26,7 @@ def __init__(__self__, *, The set of arguments for constructing a GroupAccessToken resource. :param pulumi.Input[str] group: The ID or full path of the group. :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: The scopes of the group access token. Valid values are: `api`, `read_api`, `read_user`, `k8s_proxy`, `read_registry`, `write_registry`, `read_repository`, `write_repository`, `create_runner`, `ai_features`, `k8s_proxy`, `read_observability`, `write_observability` - :param pulumi.Input[str] access_level: The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + :param pulumi.Input[str] access_level: The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. :param pulumi.Input[str] expires_at: When the token will expire, YYYY-MM-DD format. :param pulumi.Input[str] name: The name of the group access token. :param pulumi.Input['GroupAccessTokenRotationConfigurationArgs'] rotation_configuration: The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. @@ -70,7 +70,7 @@ def scopes(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): @pulumi.getter(name="accessLevel") def access_level(self) -> Optional[pulumi.Input[str]]: """ - The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. """ return pulumi.get(self, "access_level") @@ -131,7 +131,7 @@ def __init__(__self__, *, user_id: Optional[pulumi.Input[int]] = None): """ Input properties used for looking up and filtering GroupAccessToken resources. - :param pulumi.Input[str] access_level: The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + :param pulumi.Input[str] access_level: The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. :param pulumi.Input[bool] active: True if the token is active. :param pulumi.Input[str] created_at: Time the token has been created, RFC3339 format. :param pulumi.Input[str] expires_at: When the token will expire, YYYY-MM-DD format. @@ -170,7 +170,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessLevel") def access_level(self) -> Optional[pulumi.Input[str]]: """ - The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. """ return pulumi.get(self, "access_level") @@ -352,7 +352,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + :param pulumi.Input[str] access_level: The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. :param pulumi.Input[str] expires_at: When the token will expire, YYYY-MM-DD format. :param pulumi.Input[str] group: The ID or full path of the group. :param pulumi.Input[str] name: The name of the group access token. @@ -479,7 +479,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + :param pulumi.Input[str] access_level: The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. :param pulumi.Input[bool] active: True if the token is active. :param pulumi.Input[str] created_at: Time the token has been created, RFC3339 format. :param pulumi.Input[str] expires_at: When the token will expire, YYYY-MM-DD format. @@ -512,7 +512,7 @@ def get(resource_name: str, @pulumi.getter(name="accessLevel") def access_level(self) -> pulumi.Output[str]: """ - The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. """ return pulumi.get(self, "access_level") diff --git a/sdk/python/pulumi_gitlab/group_ldap_link.py b/sdk/python/pulumi_gitlab/group_ldap_link.py index 8567845e..8fe86f2e 100644 --- a/sdk/python/pulumi_gitlab/group_ldap_link.py +++ b/sdk/python/pulumi_gitlab/group_ldap_link.py @@ -25,11 +25,11 @@ def __init__(__self__, *, The set of arguments for constructing a GroupLdapLink resource. :param pulumi.Input[str] group: The ID or URL-encoded path of the group :param pulumi.Input[str] ldap_provider: The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` - :param pulumi.Input[str] access_level: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] cn: The CN of the LDAP group to link with. Required if `filter` is not provided. :param pulumi.Input[str] filter: The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above. :param pulumi.Input[bool] force: If true, then delete and replace an existing LDAP link if one exists. Will also remove an LDAP link if the parent group is not found. - :param pulumi.Input[str] group_access: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] group_access: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ pulumi.set(__self__, "group", group) pulumi.set(__self__, "ldap_provider", ldap_provider) @@ -75,7 +75,7 @@ def ldap_provider(self, value: pulumi.Input[str]): @pulumi.getter(name="accessLevel") def access_level(self) -> Optional[pulumi.Input[str]]: """ - Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ warnings.warn("""Use `group_access` instead of the `access_level` attribute.""", DeprecationWarning) pulumi.log.warn("""access_level is deprecated: Use `group_access` instead of the `access_level` attribute.""") @@ -126,7 +126,7 @@ def force(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="groupAccess") def group_access(self) -> Optional[pulumi.Input[str]]: """ - Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "group_access") @@ -147,12 +147,12 @@ def __init__(__self__, *, ldap_provider: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering GroupLdapLink resources. - :param pulumi.Input[str] access_level: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] cn: The CN of the LDAP group to link with. Required if `filter` is not provided. :param pulumi.Input[str] filter: The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above. :param pulumi.Input[bool] force: If true, then delete and replace an existing LDAP link if one exists. Will also remove an LDAP link if the parent group is not found. :param pulumi.Input[str] group: The ID or URL-encoded path of the group - :param pulumi.Input[str] group_access: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] group_access: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] ldap_provider: The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` """ if access_level is not None: @@ -177,7 +177,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessLevel") def access_level(self) -> Optional[pulumi.Input[str]]: """ - Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ warnings.warn("""Use `group_access` instead of the `access_level` attribute.""", DeprecationWarning) pulumi.log.warn("""access_level is deprecated: Use `group_access` instead of the `access_level` attribute.""") @@ -240,7 +240,7 @@ def group(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="groupAccess") def group_access(self) -> Optional[pulumi.Input[str]]: """ - Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "group_access") @@ -297,12 +297,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] cn: The CN of the LDAP group to link with. Required if `filter` is not provided. :param pulumi.Input[str] filter: The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above. :param pulumi.Input[bool] force: If true, then delete and replace an existing LDAP link if one exists. Will also remove an LDAP link if the parent group is not found. :param pulumi.Input[str] group: The ID or URL-encoded path of the group - :param pulumi.Input[str] group_access: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] group_access: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] ldap_provider: The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` """ ... @@ -398,12 +398,12 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] cn: The CN of the LDAP group to link with. Required if `filter` is not provided. :param pulumi.Input[str] filter: The LDAP filter for the group. Required if `cn` is not provided. Requires GitLab Premium or above. :param pulumi.Input[bool] force: If true, then delete and replace an existing LDAP link if one exists. Will also remove an LDAP link if the parent group is not found. :param pulumi.Input[str] group: The ID or URL-encoded path of the group - :param pulumi.Input[str] group_access: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] group_access: Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] ldap_provider: The name of the LDAP provider as stored in the GitLab database. Note that this is NOT the value of the `label` attribute as shown in the web UI. In most cases this will be `ldapmain` but you may use the [LDAP check rake task](https://docs.gitlab.com/ee/administration/raketasks/ldap.html#check) for receiving the LDAP server name: `LDAP: ... Server: ldapmain` """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -423,7 +423,7 @@ def get(resource_name: str, @pulumi.getter(name="accessLevel") def access_level(self) -> pulumi.Output[Optional[str]]: """ - Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ warnings.warn("""Use `group_access` instead of the `access_level` attribute.""", DeprecationWarning) pulumi.log.warn("""access_level is deprecated: Use `group_access` instead of the `access_level` attribute.""") @@ -466,7 +466,7 @@ def group(self) -> pulumi.Output[str]: @pulumi.getter(name="groupAccess") def group_access(self) -> pulumi.Output[Optional[str]]: """ - Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + Minimum access level for members of the LDAP group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "group_access") diff --git a/sdk/python/pulumi_gitlab/group_membership.py b/sdk/python/pulumi_gitlab/group_membership.py index e9e1cecf..00244427 100644 --- a/sdk/python/pulumi_gitlab/group_membership.py +++ b/sdk/python/pulumi_gitlab/group_membership.py @@ -23,7 +23,7 @@ def __init__(__self__, *, unassign_issuables_on_destroy: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a GroupMembership resource. - :param pulumi.Input[str] access_level: Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + :param pulumi.Input[str] access_level: Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. :param pulumi.Input[str] group_id: The id of the group. :param pulumi.Input[int] user_id: The id of the user. :param pulumi.Input[str] expires_at: Expiration date for the group membership. Format: `YYYY-MM-DD` @@ -47,7 +47,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessLevel") def access_level(self) -> pulumi.Input[str]: """ - Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. """ return pulumi.get(self, "access_level") @@ -140,7 +140,7 @@ def __init__(__self__, *, user_id: Optional[pulumi.Input[int]] = None): """ Input properties used for looking up and filtering GroupMembership resources. - :param pulumi.Input[str] access_level: Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + :param pulumi.Input[str] access_level: Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. :param pulumi.Input[str] expires_at: Expiration date for the group membership. Format: `YYYY-MM-DD` :param pulumi.Input[str] group_id: The id of the group. :param pulumi.Input[int] member_role_id: The ID of a custom member role. Only available for Ultimate instances. @@ -167,7 +167,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessLevel") def access_level(self) -> Optional[pulumi.Input[str]]: """ - Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. """ return pulumi.get(self, "access_level") @@ -291,7 +291,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + :param pulumi.Input[str] access_level: Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. :param pulumi.Input[str] expires_at: Expiration date for the group membership. Format: `YYYY-MM-DD` :param pulumi.Input[str] group_id: The id of the group. :param pulumi.Input[int] member_role_id: The ID of a custom member role. Only available for Ultimate instances. @@ -401,7 +401,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + :param pulumi.Input[str] access_level: Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. :param pulumi.Input[str] expires_at: Expiration date for the group membership. Format: `YYYY-MM-DD` :param pulumi.Input[str] group_id: The id of the group. :param pulumi.Input[int] member_role_id: The ID of a custom member role. Only available for Ultimate instances. @@ -426,7 +426,7 @@ def get(resource_name: str, @pulumi.getter(name="accessLevel") def access_level(self) -> pulumi.Output[str]: """ - Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. + Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. """ return pulumi.get(self, "access_level") diff --git a/sdk/python/pulumi_gitlab/group_protected_environment.py b/sdk/python/pulumi_gitlab/group_protected_environment.py index 1e5a0309..5700837c 100644 --- a/sdk/python/pulumi_gitlab/group_protected_environment.py +++ b/sdk/python/pulumi_gitlab/group_protected_environment.py @@ -19,23 +19,19 @@ def __init__(__self__, *, deploy_access_levels: pulumi.Input[Sequence[pulumi.Input['GroupProtectedEnvironmentDeployAccessLevelArgs']]], environment: pulumi.Input[str], group: pulumi.Input[str], - approval_rules: Optional[pulumi.Input[Sequence[pulumi.Input['GroupProtectedEnvironmentApprovalRuleArgs']]]] = None, - required_approval_count: Optional[pulumi.Input[int]] = None): + approval_rules: Optional[pulumi.Input[Sequence[pulumi.Input['GroupProtectedEnvironmentApprovalRuleArgs']]]] = None): """ The set of arguments for constructing a GroupProtectedEnvironment resource. :param pulumi.Input[Sequence[pulumi.Input['GroupProtectedEnvironmentDeployAccessLevelArgs']]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. :param pulumi.Input[str] environment: The deployment tier of the environment. Valid values are `production`, `staging`, `testing`, `development`, `other`. :param pulumi.Input[str] group: The ID or full path of the group which the protected environment is created against. :param pulumi.Input[Sequence[pulumi.Input['GroupProtectedEnvironmentApprovalRuleArgs']]] approval_rules: Array of approval rules to deploy, with each described by a hash. - :param pulumi.Input[int] required_approval_count: The number of approvals required to deploy to this environment. """ pulumi.set(__self__, "deploy_access_levels", deploy_access_levels) pulumi.set(__self__, "environment", environment) pulumi.set(__self__, "group", group) if approval_rules is not None: pulumi.set(__self__, "approval_rules", approval_rules) - if required_approval_count is not None: - pulumi.set(__self__, "required_approval_count", required_approval_count) @property @pulumi.getter(name="deployAccessLevels") @@ -85,18 +81,6 @@ def approval_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GroupPr def approval_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GroupProtectedEnvironmentApprovalRuleArgs']]]]): pulumi.set(self, "approval_rules", value) - @property - @pulumi.getter(name="requiredApprovalCount") - def required_approval_count(self) -> Optional[pulumi.Input[int]]: - """ - The number of approvals required to deploy to this environment. - """ - return pulumi.get(self, "required_approval_count") - - @required_approval_count.setter - def required_approval_count(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "required_approval_count", value) - @pulumi.input_type class _GroupProtectedEnvironmentState: @@ -104,15 +88,13 @@ def __init__(__self__, *, approval_rules: Optional[pulumi.Input[Sequence[pulumi.Input['GroupProtectedEnvironmentApprovalRuleArgs']]]] = None, deploy_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input['GroupProtectedEnvironmentDeployAccessLevelArgs']]]] = None, environment: Optional[pulumi.Input[str]] = None, - group: Optional[pulumi.Input[str]] = None, - required_approval_count: Optional[pulumi.Input[int]] = None): + group: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering GroupProtectedEnvironment resources. :param pulumi.Input[Sequence[pulumi.Input['GroupProtectedEnvironmentApprovalRuleArgs']]] approval_rules: Array of approval rules to deploy, with each described by a hash. :param pulumi.Input[Sequence[pulumi.Input['GroupProtectedEnvironmentDeployAccessLevelArgs']]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. :param pulumi.Input[str] environment: The deployment tier of the environment. Valid values are `production`, `staging`, `testing`, `development`, `other`. :param pulumi.Input[str] group: The ID or full path of the group which the protected environment is created against. - :param pulumi.Input[int] required_approval_count: The number of approvals required to deploy to this environment. """ if approval_rules is not None: pulumi.set(__self__, "approval_rules", approval_rules) @@ -122,8 +104,6 @@ def __init__(__self__, *, pulumi.set(__self__, "environment", environment) if group is not None: pulumi.set(__self__, "group", group) - if required_approval_count is not None: - pulumi.set(__self__, "required_approval_count", required_approval_count) @property @pulumi.getter(name="approvalRules") @@ -173,18 +153,6 @@ def group(self) -> Optional[pulumi.Input[str]]: def group(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "group", value) - @property - @pulumi.getter(name="requiredApprovalCount") - def required_approval_count(self) -> Optional[pulumi.Input[int]]: - """ - The number of approvals required to deploy to this environment. - """ - return pulumi.get(self, "required_approval_count") - - @required_approval_count.setter - def required_approval_count(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "required_approval_count", value) - class GroupProtectedEnvironment(pulumi.CustomResource): @overload @@ -195,7 +163,6 @@ def __init__(__self__, deploy_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GroupProtectedEnvironmentDeployAccessLevelArgs']]]]] = None, environment: Optional[pulumi.Input[str]] = None, group: Optional[pulumi.Input[str]] = None, - required_approval_count: Optional[pulumi.Input[int]] = None, __props__=None): """ The `GroupProtectedEnvironment` resource allows to manage the lifecycle of a protected environment in a group. @@ -221,7 +188,6 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GroupProtectedEnvironmentDeployAccessLevelArgs']]]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. :param pulumi.Input[str] environment: The deployment tier of the environment. Valid values are `production`, `staging`, `testing`, `development`, `other`. :param pulumi.Input[str] group: The ID or full path of the group which the protected environment is created against. - :param pulumi.Input[int] required_approval_count: The number of approvals required to deploy to this environment. """ ... @overload @@ -266,7 +232,6 @@ def _internal_init(__self__, deploy_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GroupProtectedEnvironmentDeployAccessLevelArgs']]]]] = None, environment: Optional[pulumi.Input[str]] = None, group: Optional[pulumi.Input[str]] = None, - required_approval_count: Optional[pulumi.Input[int]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -286,7 +251,6 @@ def _internal_init(__self__, if group is None and not opts.urn: raise TypeError("Missing required property 'group'") __props__.__dict__["group"] = group - __props__.__dict__["required_approval_count"] = required_approval_count super(GroupProtectedEnvironment, __self__).__init__( 'gitlab:index/groupProtectedEnvironment:GroupProtectedEnvironment', resource_name, @@ -300,8 +264,7 @@ def get(resource_name: str, approval_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GroupProtectedEnvironmentApprovalRuleArgs']]]]] = None, deploy_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GroupProtectedEnvironmentDeployAccessLevelArgs']]]]] = None, environment: Optional[pulumi.Input[str]] = None, - group: Optional[pulumi.Input[str]] = None, - required_approval_count: Optional[pulumi.Input[int]] = None) -> 'GroupProtectedEnvironment': + group: Optional[pulumi.Input[str]] = None) -> 'GroupProtectedEnvironment': """ Get an existing GroupProtectedEnvironment resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -313,7 +276,6 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GroupProtectedEnvironmentDeployAccessLevelArgs']]]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. :param pulumi.Input[str] environment: The deployment tier of the environment. Valid values are `production`, `staging`, `testing`, `development`, `other`. :param pulumi.Input[str] group: The ID or full path of the group which the protected environment is created against. - :param pulumi.Input[int] required_approval_count: The number of approvals required to deploy to this environment. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -323,7 +285,6 @@ def get(resource_name: str, __props__.__dict__["deploy_access_levels"] = deploy_access_levels __props__.__dict__["environment"] = environment __props__.__dict__["group"] = group - __props__.__dict__["required_approval_count"] = required_approval_count return GroupProtectedEnvironment(resource_name, opts=opts, __props__=__props__) @property @@ -358,11 +319,3 @@ def group(self) -> pulumi.Output[str]: """ return pulumi.get(self, "group") - @property - @pulumi.getter(name="requiredApprovalCount") - def required_approval_count(self) -> pulumi.Output[int]: - """ - The number of approvals required to deploy to this environment. - """ - return pulumi.get(self, "required_approval_count") - diff --git a/sdk/python/pulumi_gitlab/group_share_group.py b/sdk/python/pulumi_gitlab/group_share_group.py index a4ad256d..cd56fd9a 100644 --- a/sdk/python/pulumi_gitlab/group_share_group.py +++ b/sdk/python/pulumi_gitlab/group_share_group.py @@ -20,7 +20,7 @@ def __init__(__self__, *, expires_at: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a GroupShareGroup resource. - :param pulumi.Input[str] group_access: The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] group_access: The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] group_id: The id of the main group to be shared. :param pulumi.Input[int] share_group_id: The id of the additional group with which the main group will be shared. :param pulumi.Input[str] expires_at: Share expiration date. Format: `YYYY-MM-DD` @@ -35,7 +35,7 @@ def __init__(__self__, *, @pulumi.getter(name="groupAccess") def group_access(self) -> pulumi.Input[str]: """ - The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "group_access") @@ -90,7 +90,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering GroupShareGroup resources. :param pulumi.Input[str] expires_at: Share expiration date. Format: `YYYY-MM-DD` - :param pulumi.Input[str] group_access: The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] group_access: The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] group_id: The id of the main group to be shared. :param pulumi.Input[int] share_group_id: The id of the additional group with which the main group will be shared. """ @@ -119,7 +119,7 @@ def expires_at(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="groupAccess") def group_access(self) -> Optional[pulumi.Input[str]]: """ - The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "group_access") @@ -191,7 +191,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] expires_at: Share expiration date. Format: `YYYY-MM-DD` - :param pulumi.Input[str] group_access: The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] group_access: The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] group_id: The id of the main group to be shared. :param pulumi.Input[int] share_group_id: The id of the additional group with which the main group will be shared. """ @@ -287,7 +287,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] expires_at: Share expiration date. Format: `YYYY-MM-DD` - :param pulumi.Input[str] group_access: The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] group_access: The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] group_id: The id of the main group to be shared. :param pulumi.Input[int] share_group_id: The id of the additional group with which the main group will be shared. """ @@ -313,7 +313,7 @@ def expires_at(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="groupAccess") def group_access(self) -> pulumi.Output[str]: """ - The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "group_access") diff --git a/sdk/python/pulumi_gitlab/instance_variable.py b/sdk/python/pulumi_gitlab/instance_variable.py index 7a0cfa5c..dc9a3b6a 100644 --- a/sdk/python/pulumi_gitlab/instance_variable.py +++ b/sdk/python/pulumi_gitlab/instance_variable.py @@ -16,6 +16,7 @@ class InstanceVariableArgs: def __init__(__self__, *, key: pulumi.Input[str], value: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, masked: Optional[pulumi.Input[bool]] = None, protected: Optional[pulumi.Input[bool]] = None, raw: Optional[pulumi.Input[bool]] = None, @@ -24,6 +25,7 @@ def __init__(__self__, *, The set of arguments for constructing a InstanceVariable resource. :param pulumi.Input[str] key: The name of the variable. :param pulumi.Input[str] value: The value of the variable. + :param pulumi.Input[str] description: The description of the variable. Maximum of 255 characters. :param pulumi.Input[bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. :param pulumi.Input[bool] protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. :param pulumi.Input[bool] raw: Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded. @@ -31,6 +33,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "value", value) + if description is not None: + pulumi.set(__self__, "description", description) if masked is not None: pulumi.set(__self__, "masked", masked) if protected is not None: @@ -64,6 +68,18 @@ def value(self) -> pulumi.Input[str]: def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the variable. Maximum of 255 characters. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + @property @pulumi.getter def masked(self) -> Optional[pulumi.Input[bool]]: @@ -116,6 +132,7 @@ def variable_type(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class _InstanceVariableState: def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, key: Optional[pulumi.Input[str]] = None, masked: Optional[pulumi.Input[bool]] = None, protected: Optional[pulumi.Input[bool]] = None, @@ -124,6 +141,7 @@ def __init__(__self__, *, variable_type: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering InstanceVariable resources. + :param pulumi.Input[str] description: The description of the variable. Maximum of 255 characters. :param pulumi.Input[str] key: The name of the variable. :param pulumi.Input[bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. :param pulumi.Input[bool] protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. @@ -131,6 +149,8 @@ def __init__(__self__, *, :param pulumi.Input[str] value: The value of the variable. :param pulumi.Input[str] variable_type: The type of a variable. Valid values are: `env_var`, `file`. Default is `env_var`. """ + if description is not None: + pulumi.set(__self__, "description", description) if key is not None: pulumi.set(__self__, "key", key) if masked is not None: @@ -144,6 +164,18 @@ def __init__(__self__, *, if variable_type is not None: pulumi.set(__self__, "variable_type", variable_type) + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the variable. Maximum of 255 characters. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + @property @pulumi.getter def key(self) -> Optional[pulumi.Input[str]]: @@ -222,6 +254,7 @@ class InstanceVariable(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, key: Optional[pulumi.Input[str]] = None, masked: Optional[pulumi.Input[bool]] = None, protected: Optional[pulumi.Input[bool]] = None, @@ -257,6 +290,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: The description of the variable. Maximum of 255 characters. :param pulumi.Input[str] key: The name of the variable. :param pulumi.Input[bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. :param pulumi.Input[bool] protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. @@ -311,6 +345,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, key: Optional[pulumi.Input[str]] = None, masked: Optional[pulumi.Input[bool]] = None, protected: Optional[pulumi.Input[bool]] = None, @@ -326,6 +361,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = InstanceVariableArgs.__new__(InstanceVariableArgs) + __props__.__dict__["description"] = description if key is None and not opts.urn: raise TypeError("Missing required property 'key'") __props__.__dict__["key"] = key @@ -346,6 +382,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, key: Optional[pulumi.Input[str]] = None, masked: Optional[pulumi.Input[bool]] = None, protected: Optional[pulumi.Input[bool]] = None, @@ -359,6 +396,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: The description of the variable. Maximum of 255 characters. :param pulumi.Input[str] key: The name of the variable. :param pulumi.Input[bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. :param pulumi.Input[bool] protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. @@ -370,6 +408,7 @@ def get(resource_name: str, __props__ = _InstanceVariableState.__new__(_InstanceVariableState) + __props__.__dict__["description"] = description __props__.__dict__["key"] = key __props__.__dict__["masked"] = masked __props__.__dict__["protected"] = protected @@ -378,6 +417,14 @@ def get(resource_name: str, __props__.__dict__["variable_type"] = variable_type return InstanceVariable(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + The description of the variable. Maximum of 255 characters. + """ + return pulumi.get(self, "description") + @property @pulumi.getter def key(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_gitlab/integration_jenkins.py b/sdk/python/pulumi_gitlab/integration_jenkins.py new file mode 100644 index 00000000..a7adbdea --- /dev/null +++ b/sdk/python/pulumi_gitlab/integration_jenkins.py @@ -0,0 +1,610 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IntegrationJenkinsArgs', 'IntegrationJenkins'] + +@pulumi.input_type +class IntegrationJenkinsArgs: + def __init__(__self__, *, + jenkins_url: pulumi.Input[str], + project: pulumi.Input[str], + project_name: pulumi.Input[str], + enable_ssl_verification: Optional[pulumi.Input[bool]] = None, + merge_request_events: Optional[pulumi.Input[bool]] = None, + password: Optional[pulumi.Input[str]] = None, + push_events: Optional[pulumi.Input[bool]] = None, + tag_push_events: Optional[pulumi.Input[bool]] = None, + username: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a IntegrationJenkins resource. + :param pulumi.Input[str] jenkins_url: Jenkins URL like `http://jenkins.example.com` + :param pulumi.Input[str] project: ID of the project you want to activate integration on. + :param pulumi.Input[str] project_name: The URL-friendly project name. Example: `my_project_name`. + :param pulumi.Input[bool] enable_ssl_verification: Enable SSL verification. Defaults to `true` (enabled). + :param pulumi.Input[bool] merge_request_events: Enable notifications for merge request events. + :param pulumi.Input[str] password: Password for authentication with the Jenkins server, if authentication is required by the server. + :param pulumi.Input[bool] push_events: Enable notifications for push events. + :param pulumi.Input[bool] tag_push_events: Enable notifications for tag push events. + :param pulumi.Input[str] username: Username for authentication with the Jenkins server, if authentication is required by the server. + """ + pulumi.set(__self__, "jenkins_url", jenkins_url) + pulumi.set(__self__, "project", project) + pulumi.set(__self__, "project_name", project_name) + if enable_ssl_verification is not None: + pulumi.set(__self__, "enable_ssl_verification", enable_ssl_verification) + if merge_request_events is not None: + pulumi.set(__self__, "merge_request_events", merge_request_events) + if password is not None: + pulumi.set(__self__, "password", password) + if push_events is not None: + pulumi.set(__self__, "push_events", push_events) + if tag_push_events is not None: + pulumi.set(__self__, "tag_push_events", tag_push_events) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter(name="jenkinsUrl") + def jenkins_url(self) -> pulumi.Input[str]: + """ + Jenkins URL like `http://jenkins.example.com` + """ + return pulumi.get(self, "jenkins_url") + + @jenkins_url.setter + def jenkins_url(self, value: pulumi.Input[str]): + pulumi.set(self, "jenkins_url", value) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + ID of the project you want to activate integration on. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="projectName") + def project_name(self) -> pulumi.Input[str]: + """ + The URL-friendly project name. Example: `my_project_name`. + """ + return pulumi.get(self, "project_name") + + @project_name.setter + def project_name(self, value: pulumi.Input[str]): + pulumi.set(self, "project_name", value) + + @property + @pulumi.getter(name="enableSslVerification") + def enable_ssl_verification(self) -> Optional[pulumi.Input[bool]]: + """ + Enable SSL verification. Defaults to `true` (enabled). + """ + return pulumi.get(self, "enable_ssl_verification") + + @enable_ssl_verification.setter + def enable_ssl_verification(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_ssl_verification", value) + + @property + @pulumi.getter(name="mergeRequestEvents") + def merge_request_events(self) -> Optional[pulumi.Input[bool]]: + """ + Enable notifications for merge request events. + """ + return pulumi.get(self, "merge_request_events") + + @merge_request_events.setter + def merge_request_events(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "merge_request_events", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password for authentication with the Jenkins server, if authentication is required by the server. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter(name="pushEvents") + def push_events(self) -> Optional[pulumi.Input[bool]]: + """ + Enable notifications for push events. + """ + return pulumi.get(self, "push_events") + + @push_events.setter + def push_events(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "push_events", value) + + @property + @pulumi.getter(name="tagPushEvents") + def tag_push_events(self) -> Optional[pulumi.Input[bool]]: + """ + Enable notifications for tag push events. + """ + return pulumi.get(self, "tag_push_events") + + @tag_push_events.setter + def tag_push_events(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "tag_push_events", value) + + @property + @pulumi.getter + def username(self) -> Optional[pulumi.Input[str]]: + """ + Username for authentication with the Jenkins server, if authentication is required by the server. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "username", value) + + +@pulumi.input_type +class _IntegrationJenkinsState: + def __init__(__self__, *, + active: Optional[pulumi.Input[bool]] = None, + enable_ssl_verification: Optional[pulumi.Input[bool]] = None, + jenkins_url: Optional[pulumi.Input[str]] = None, + merge_request_events: Optional[pulumi.Input[bool]] = None, + password: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + project_name: Optional[pulumi.Input[str]] = None, + push_events: Optional[pulumi.Input[bool]] = None, + tag_push_events: Optional[pulumi.Input[bool]] = None, + username: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering IntegrationJenkins resources. + :param pulumi.Input[bool] active: Whether the integration is active. + :param pulumi.Input[bool] enable_ssl_verification: Enable SSL verification. Defaults to `true` (enabled). + :param pulumi.Input[str] jenkins_url: Jenkins URL like `http://jenkins.example.com` + :param pulumi.Input[bool] merge_request_events: Enable notifications for merge request events. + :param pulumi.Input[str] password: Password for authentication with the Jenkins server, if authentication is required by the server. + :param pulumi.Input[str] project: ID of the project you want to activate integration on. + :param pulumi.Input[str] project_name: The URL-friendly project name. Example: `my_project_name`. + :param pulumi.Input[bool] push_events: Enable notifications for push events. + :param pulumi.Input[bool] tag_push_events: Enable notifications for tag push events. + :param pulumi.Input[str] username: Username for authentication with the Jenkins server, if authentication is required by the server. + """ + if active is not None: + pulumi.set(__self__, "active", active) + if enable_ssl_verification is not None: + pulumi.set(__self__, "enable_ssl_verification", enable_ssl_verification) + if jenkins_url is not None: + pulumi.set(__self__, "jenkins_url", jenkins_url) + if merge_request_events is not None: + pulumi.set(__self__, "merge_request_events", merge_request_events) + if password is not None: + pulumi.set(__self__, "password", password) + if project is not None: + pulumi.set(__self__, "project", project) + if project_name is not None: + pulumi.set(__self__, "project_name", project_name) + if push_events is not None: + pulumi.set(__self__, "push_events", push_events) + if tag_push_events is not None: + pulumi.set(__self__, "tag_push_events", tag_push_events) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter + def active(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the integration is active. + """ + return pulumi.get(self, "active") + + @active.setter + def active(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "active", value) + + @property + @pulumi.getter(name="enableSslVerification") + def enable_ssl_verification(self) -> Optional[pulumi.Input[bool]]: + """ + Enable SSL verification. Defaults to `true` (enabled). + """ + return pulumi.get(self, "enable_ssl_verification") + + @enable_ssl_verification.setter + def enable_ssl_verification(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_ssl_verification", value) + + @property + @pulumi.getter(name="jenkinsUrl") + def jenkins_url(self) -> Optional[pulumi.Input[str]]: + """ + Jenkins URL like `http://jenkins.example.com` + """ + return pulumi.get(self, "jenkins_url") + + @jenkins_url.setter + def jenkins_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "jenkins_url", value) + + @property + @pulumi.getter(name="mergeRequestEvents") + def merge_request_events(self) -> Optional[pulumi.Input[bool]]: + """ + Enable notifications for merge request events. + """ + return pulumi.get(self, "merge_request_events") + + @merge_request_events.setter + def merge_request_events(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "merge_request_events", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password for authentication with the Jenkins server, if authentication is required by the server. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + ID of the project you want to activate integration on. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="projectName") + def project_name(self) -> Optional[pulumi.Input[str]]: + """ + The URL-friendly project name. Example: `my_project_name`. + """ + return pulumi.get(self, "project_name") + + @project_name.setter + def project_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project_name", value) + + @property + @pulumi.getter(name="pushEvents") + def push_events(self) -> Optional[pulumi.Input[bool]]: + """ + Enable notifications for push events. + """ + return pulumi.get(self, "push_events") + + @push_events.setter + def push_events(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "push_events", value) + + @property + @pulumi.getter(name="tagPushEvents") + def tag_push_events(self) -> Optional[pulumi.Input[bool]]: + """ + Enable notifications for tag push events. + """ + return pulumi.get(self, "tag_push_events") + + @tag_push_events.setter + def tag_push_events(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "tag_push_events", value) + + @property + @pulumi.getter + def username(self) -> Optional[pulumi.Input[str]]: + """ + Username for authentication with the Jenkins server, if authentication is required by the server. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "username", value) + + +class IntegrationJenkins(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + enable_ssl_verification: Optional[pulumi.Input[bool]] = None, + jenkins_url: Optional[pulumi.Input[str]] = None, + merge_request_events: Optional[pulumi.Input[bool]] = None, + password: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + project_name: Optional[pulumi.Input[str]] = None, + push_events: Optional[pulumi.Input[bool]] = None, + tag_push_events: Optional[pulumi.Input[bool]] = None, + username: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The `IntegrationJenkins` resource allows to manage the lifecycle of a project integration with Jenkins. + + **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#jenkins) + + ## Example Usage + + ```python + import pulumi + import pulumi_gitlab as gitlab + + awesome_project = gitlab.Project("awesome_project", + name="awesome_project", + description="My awesome project.", + visibility_level="public") + jenkins = gitlab.IntegrationJenkins("jenkins", + project=awesome_project.id, + jenkins_url="http://jenkins.example.com", + project_name="my_project_name") + ``` + + ## Import + + ```sh + $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins You can import a gitlab_integration_jenkins state using ` `: + ``` + + ```sh + $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins jenkins 1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enable_ssl_verification: Enable SSL verification. Defaults to `true` (enabled). + :param pulumi.Input[str] jenkins_url: Jenkins URL like `http://jenkins.example.com` + :param pulumi.Input[bool] merge_request_events: Enable notifications for merge request events. + :param pulumi.Input[str] password: Password for authentication with the Jenkins server, if authentication is required by the server. + :param pulumi.Input[str] project: ID of the project you want to activate integration on. + :param pulumi.Input[str] project_name: The URL-friendly project name. Example: `my_project_name`. + :param pulumi.Input[bool] push_events: Enable notifications for push events. + :param pulumi.Input[bool] tag_push_events: Enable notifications for tag push events. + :param pulumi.Input[str] username: Username for authentication with the Jenkins server, if authentication is required by the server. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IntegrationJenkinsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The `IntegrationJenkins` resource allows to manage the lifecycle of a project integration with Jenkins. + + **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/integrations.html#jenkins) + + ## Example Usage + + ```python + import pulumi + import pulumi_gitlab as gitlab + + awesome_project = gitlab.Project("awesome_project", + name="awesome_project", + description="My awesome project.", + visibility_level="public") + jenkins = gitlab.IntegrationJenkins("jenkins", + project=awesome_project.id, + jenkins_url="http://jenkins.example.com", + project_name="my_project_name") + ``` + + ## Import + + ```sh + $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins You can import a gitlab_integration_jenkins state using ` `: + ``` + + ```sh + $ pulumi import gitlab:index/integrationJenkins:IntegrationJenkins jenkins 1 + ``` + + :param str resource_name: The name of the resource. + :param IntegrationJenkinsArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(IntegrationJenkinsArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + enable_ssl_verification: Optional[pulumi.Input[bool]] = None, + jenkins_url: Optional[pulumi.Input[str]] = None, + merge_request_events: Optional[pulumi.Input[bool]] = None, + password: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + project_name: Optional[pulumi.Input[str]] = None, + push_events: Optional[pulumi.Input[bool]] = None, + tag_push_events: Optional[pulumi.Input[bool]] = None, + username: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = IntegrationJenkinsArgs.__new__(IntegrationJenkinsArgs) + + __props__.__dict__["enable_ssl_verification"] = enable_ssl_verification + if jenkins_url is None and not opts.urn: + raise TypeError("Missing required property 'jenkins_url'") + __props__.__dict__["jenkins_url"] = jenkins_url + __props__.__dict__["merge_request_events"] = merge_request_events + __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + if project_name is None and not opts.urn: + raise TypeError("Missing required property 'project_name'") + __props__.__dict__["project_name"] = project_name + __props__.__dict__["push_events"] = push_events + __props__.__dict__["tag_push_events"] = tag_push_events + __props__.__dict__["username"] = username + __props__.__dict__["active"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(IntegrationJenkins, __self__).__init__( + 'gitlab:index/integrationJenkins:IntegrationJenkins', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + active: Optional[pulumi.Input[bool]] = None, + enable_ssl_verification: Optional[pulumi.Input[bool]] = None, + jenkins_url: Optional[pulumi.Input[str]] = None, + merge_request_events: Optional[pulumi.Input[bool]] = None, + password: Optional[pulumi.Input[str]] = None, + project: Optional[pulumi.Input[str]] = None, + project_name: Optional[pulumi.Input[str]] = None, + push_events: Optional[pulumi.Input[bool]] = None, + tag_push_events: Optional[pulumi.Input[bool]] = None, + username: Optional[pulumi.Input[str]] = None) -> 'IntegrationJenkins': + """ + Get an existing IntegrationJenkins resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] active: Whether the integration is active. + :param pulumi.Input[bool] enable_ssl_verification: Enable SSL verification. Defaults to `true` (enabled). + :param pulumi.Input[str] jenkins_url: Jenkins URL like `http://jenkins.example.com` + :param pulumi.Input[bool] merge_request_events: Enable notifications for merge request events. + :param pulumi.Input[str] password: Password for authentication with the Jenkins server, if authentication is required by the server. + :param pulumi.Input[str] project: ID of the project you want to activate integration on. + :param pulumi.Input[str] project_name: The URL-friendly project name. Example: `my_project_name`. + :param pulumi.Input[bool] push_events: Enable notifications for push events. + :param pulumi.Input[bool] tag_push_events: Enable notifications for tag push events. + :param pulumi.Input[str] username: Username for authentication with the Jenkins server, if authentication is required by the server. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IntegrationJenkinsState.__new__(_IntegrationJenkinsState) + + __props__.__dict__["active"] = active + __props__.__dict__["enable_ssl_verification"] = enable_ssl_verification + __props__.__dict__["jenkins_url"] = jenkins_url + __props__.__dict__["merge_request_events"] = merge_request_events + __props__.__dict__["password"] = password + __props__.__dict__["project"] = project + __props__.__dict__["project_name"] = project_name + __props__.__dict__["push_events"] = push_events + __props__.__dict__["tag_push_events"] = tag_push_events + __props__.__dict__["username"] = username + return IntegrationJenkins(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def active(self) -> pulumi.Output[bool]: + """ + Whether the integration is active. + """ + return pulumi.get(self, "active") + + @property + @pulumi.getter(name="enableSslVerification") + def enable_ssl_verification(self) -> pulumi.Output[bool]: + """ + Enable SSL verification. Defaults to `true` (enabled). + """ + return pulumi.get(self, "enable_ssl_verification") + + @property + @pulumi.getter(name="jenkinsUrl") + def jenkins_url(self) -> pulumi.Output[str]: + """ + Jenkins URL like `http://jenkins.example.com` + """ + return pulumi.get(self, "jenkins_url") + + @property + @pulumi.getter(name="mergeRequestEvents") + def merge_request_events(self) -> pulumi.Output[bool]: + """ + Enable notifications for merge request events. + """ + return pulumi.get(self, "merge_request_events") + + @property + @pulumi.getter + def password(self) -> pulumi.Output[Optional[str]]: + """ + Password for authentication with the Jenkins server, if authentication is required by the server. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + ID of the project you want to activate integration on. + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="projectName") + def project_name(self) -> pulumi.Output[str]: + """ + The URL-friendly project name. Example: `my_project_name`. + """ + return pulumi.get(self, "project_name") + + @property + @pulumi.getter(name="pushEvents") + def push_events(self) -> pulumi.Output[bool]: + """ + Enable notifications for push events. + """ + return pulumi.get(self, "push_events") + + @property + @pulumi.getter(name="tagPushEvents") + def tag_push_events(self) -> pulumi.Output[bool]: + """ + Enable notifications for tag push events. + """ + return pulumi.get(self, "tag_push_events") + + @property + @pulumi.getter + def username(self) -> pulumi.Output[Optional[str]]: + """ + Username for authentication with the Jenkins server, if authentication is required by the server. + """ + return pulumi.get(self, "username") + diff --git a/sdk/python/pulumi_gitlab/outputs.py b/sdk/python/pulumi_gitlab/outputs.py index 63346ad3..5fec8a1c 100644 --- a/sdk/python/pulumi_gitlab/outputs.py +++ b/sdk/python/pulumi_gitlab/outputs.py @@ -886,6 +886,8 @@ def __key_warning(key: str): suggest = "branch_name_regex" elif key == "commitCommitterCheck": suggest = "commit_committer_check" + elif key == "commitCommitterNameCheck": + suggest = "commit_committer_name_check" elif key == "commitMessageNegativeRegex": suggest = "commit_message_negative_regex" elif key == "commitMessageRegex": @@ -918,6 +920,7 @@ def __init__(__self__, *, author_email_regex: Optional[str] = None, branch_name_regex: Optional[str] = None, commit_committer_check: Optional[bool] = None, + commit_committer_name_check: Optional[bool] = None, commit_message_negative_regex: Optional[str] = None, commit_message_regex: Optional[str] = None, deny_delete_tag: Optional[bool] = None, @@ -930,6 +933,7 @@ def __init__(__self__, *, :param str author_email_regex: All commit author emails must match this regex, e.g. `@my-company.com$`. :param str branch_name_regex: All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. :param bool commit_committer_check: Only commits pushed using verified emails are allowed. **Note** This attribute is only supported in GitLab versions >= 16.4. + :param bool commit_committer_name_check: Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. :param str commit_message_negative_regex: No commit message is allowed to match this regex, for example `ssh\\:\\/\\/`. :param str commit_message_regex: All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. :param bool deny_delete_tag: Deny deleting a tag. @@ -945,6 +949,8 @@ def __init__(__self__, *, pulumi.set(__self__, "branch_name_regex", branch_name_regex) if commit_committer_check is not None: pulumi.set(__self__, "commit_committer_check", commit_committer_check) + if commit_committer_name_check is not None: + pulumi.set(__self__, "commit_committer_name_check", commit_committer_name_check) if commit_message_negative_regex is not None: pulumi.set(__self__, "commit_message_negative_regex", commit_message_negative_regex) if commit_message_regex is not None: @@ -986,6 +992,14 @@ def commit_committer_check(self) -> Optional[bool]: """ return pulumi.get(self, "commit_committer_check") + @property + @pulumi.getter(name="commitCommitterNameCheck") + def commit_committer_name_check(self) -> Optional[bool]: + """ + Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + """ + return pulumi.get(self, "commit_committer_name_check") + @property @pulumi.getter(name="commitMessageNegativeRegex") def commit_message_negative_regex(self) -> Optional[str]: @@ -1615,6 +1629,8 @@ def __key_warning(key: str): suggest = "branch_name_regex" elif key == "commitCommitterCheck": suggest = "commit_committer_check" + elif key == "commitCommitterNameCheck": + suggest = "commit_committer_name_check" elif key == "commitMessageNegativeRegex": suggest = "commit_message_negative_regex" elif key == "commitMessageRegex": @@ -1647,6 +1663,7 @@ def __init__(__self__, *, author_email_regex: Optional[str] = None, branch_name_regex: Optional[str] = None, commit_committer_check: Optional[bool] = None, + commit_committer_name_check: Optional[bool] = None, commit_message_negative_regex: Optional[str] = None, commit_message_regex: Optional[str] = None, deny_delete_tag: Optional[bool] = None, @@ -1659,7 +1676,8 @@ def __init__(__self__, *, :param str author_email_regex: All commit author emails must match this regex, e.g. `@my-company.com$`. :param str branch_name_regex: All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. :param bool commit_committer_check: Users can only push commits to this repository that were committed with one of their own verified emails. - :param str commit_message_negative_regex: No commit message is allowed to match this regex, for example `ssh\\:\\/\\/`. + :param bool commit_committer_name_check: Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + :param str commit_message_negative_regex: No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`. :param str commit_message_regex: All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. :param bool deny_delete_tag: Deny deleting a tag. :param str file_name_regex: All committed filenames must not match this regex, e.g. `(jar|exe)$`. @@ -1674,6 +1692,8 @@ def __init__(__self__, *, pulumi.set(__self__, "branch_name_regex", branch_name_regex) if commit_committer_check is not None: pulumi.set(__self__, "commit_committer_check", commit_committer_check) + if commit_committer_name_check is not None: + pulumi.set(__self__, "commit_committer_name_check", commit_committer_name_check) if commit_message_negative_regex is not None: pulumi.set(__self__, "commit_message_negative_regex", commit_message_negative_regex) if commit_message_regex is not None: @@ -1715,11 +1735,19 @@ def commit_committer_check(self) -> Optional[bool]: """ return pulumi.get(self, "commit_committer_check") + @property + @pulumi.getter(name="commitCommitterNameCheck") + def commit_committer_name_check(self) -> Optional[bool]: + """ + Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + """ + return pulumi.get(self, "commit_committer_name_check") + @property @pulumi.getter(name="commitMessageNegativeRegex") def commit_message_negative_regex(self) -> Optional[str]: """ - No commit message is allowed to match this regex, for example `ssh\\:\\/\\/`. + No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`. """ return pulumi.get(self, "commit_message_negative_regex") @@ -2669,7 +2697,6 @@ def __init__(__self__, *, created_at: str, default_branch_protection: int, description: str, - emails_disabled: bool, emails_enabled: bool, file_template_project_id: int, full_name: str, @@ -2697,7 +2724,6 @@ def __init__(__self__, *, pulumi.set(__self__, "created_at", created_at) pulumi.set(__self__, "default_branch_protection", default_branch_protection) pulumi.set(__self__, "description", description) - pulumi.set(__self__, "emails_disabled", emails_disabled) pulumi.set(__self__, "emails_enabled", emails_enabled) pulumi.set(__self__, "file_template_project_id", file_template_project_id) pulumi.set(__self__, "full_name", full_name) @@ -2746,11 +2772,6 @@ def default_branch_protection(self) -> int: def description(self) -> str: return pulumi.get(self, "description") - @property - @pulumi.getter(name="emailsDisabled") - def emails_disabled(self) -> bool: - return pulumi.get(self, "emails_disabled") - @property @pulumi.getter(name="emailsEnabled") def emails_enabled(self) -> bool: @@ -3311,6 +3332,7 @@ def path_with_namespace(self) -> str: @pulumi.output_type class GetInstanceVariablesVariableResult(dict): def __init__(__self__, *, + description: str, key: str, masked: bool, protected: bool, @@ -3318,6 +3340,7 @@ def __init__(__self__, *, value: str, variable_type: str): """ + :param str description: The description of the variable. Maximum of 255 characters. :param str key: The name of the variable. :param bool masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ee/ci/variables/#masked-variables). Defaults to `false`. :param bool protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`. @@ -3325,6 +3348,7 @@ def __init__(__self__, *, :param str value: The value of the variable. :param str variable_type: The type of a variable. Valid values are: `env_var`, `file`. Default is `env_var`. """ + pulumi.set(__self__, "description", description) pulumi.set(__self__, "key", key) pulumi.set(__self__, "masked", masked) pulumi.set(__self__, "protected", protected) @@ -3332,6 +3356,14 @@ def __init__(__self__, *, pulumi.set(__self__, "value", value) pulumi.set(__self__, "variable_type", variable_type) + @property + @pulumi.getter + def description(self) -> str: + """ + The description of the variable. Maximum of 255 characters. + """ + return pulumi.get(self, "description") + @property @pulumi.getter def key(self) -> str: @@ -5012,6 +5044,7 @@ def __init__(__self__, *, author_email_regex: str, branch_name_regex: str, commit_committer_check: bool, + commit_committer_name_check: bool, commit_message_negative_regex: str, commit_message_regex: str, deny_delete_tag: bool, @@ -5024,6 +5057,7 @@ def __init__(__self__, *, :param str author_email_regex: All commit author emails must match this regex, e.g. `@my-company.com$`. :param str branch_name_regex: All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. :param bool commit_committer_check: Users can only push commits to this repository that were committed with one of their own verified emails. + :param bool commit_committer_name_check: Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. :param str commit_message_negative_regex: No commit message is allowed to match this regex, for example `ssh\\:\\/\\/`. :param str commit_message_regex: All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. :param bool deny_delete_tag: Deny deleting a tag. @@ -5036,6 +5070,7 @@ def __init__(__self__, *, pulumi.set(__self__, "author_email_regex", author_email_regex) pulumi.set(__self__, "branch_name_regex", branch_name_regex) pulumi.set(__self__, "commit_committer_check", commit_committer_check) + pulumi.set(__self__, "commit_committer_name_check", commit_committer_name_check) pulumi.set(__self__, "commit_message_negative_regex", commit_message_negative_regex) pulumi.set(__self__, "commit_message_regex", commit_message_regex) pulumi.set(__self__, "deny_delete_tag", deny_delete_tag) @@ -5069,6 +5104,14 @@ def commit_committer_check(self) -> bool: """ return pulumi.get(self, "commit_committer_check") + @property + @pulumi.getter(name="commitCommitterNameCheck") + def commit_committer_name_check(self) -> bool: + """ + Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + """ + return pulumi.get(self, "commit_committer_name_check") + @property @pulumi.getter(name="commitMessageNegativeRegex") def commit_message_negative_regex(self) -> str: @@ -5707,7 +5750,6 @@ def __init__(__self__, *, custom_attributes: Sequence[Mapping[str, str]], default_branch: str, description: str, - emails_disabled: bool, emails_enabled: bool, empty_repo: bool, environments_access_level: str, @@ -5752,7 +5794,6 @@ def __init__(__self__, *, path: str, path_with_namespace: str, permissions: Sequence['outputs.GetProjectsProjectPermissionResult'], - public: bool, public_builds: bool, readme_url: str, releases_access_level: str, @@ -5806,7 +5847,6 @@ def __init__(__self__, *, :param Sequence[Mapping[str, str]] custom_attributes: Custom attributes for the project. :param str default_branch: The default branch name of the project. :param str description: The description of the project. - :param bool emails_disabled: Disable email notifications. :param bool emails_enabled: Enable email notifications. :param bool empty_repo: Whether the project is empty. :param str environments_access_level: Set the environments access level. Valid values are `disabled`, `private`, `enabled`. @@ -5850,7 +5890,6 @@ def __init__(__self__, *, :param str path: The path of the project. :param str path_with_namespace: In `group/subgroup/project` or `user/project` format. :param Sequence['GetProjectsProjectPermissionArgs'] permissions: Permissions for the project. - :param bool public: Whether the project is public. :param bool public_builds: Whether public builds are enabled for the project. :param str readme_url: The remote url of the project. :param str releases_access_level: Set the releases access level. Valid values are `disabled`, `private`, `enabled`. @@ -5904,7 +5943,6 @@ def __init__(__self__, *, pulumi.set(__self__, "custom_attributes", custom_attributes) pulumi.set(__self__, "default_branch", default_branch) pulumi.set(__self__, "description", description) - pulumi.set(__self__, "emails_disabled", emails_disabled) pulumi.set(__self__, "emails_enabled", emails_enabled) pulumi.set(__self__, "empty_repo", empty_repo) pulumi.set(__self__, "environments_access_level", environments_access_level) @@ -5949,7 +5987,6 @@ def __init__(__self__, *, pulumi.set(__self__, "path", path) pulumi.set(__self__, "path_with_namespace", path_with_namespace) pulumi.set(__self__, "permissions", permissions) - pulumi.set(__self__, "public", public) pulumi.set(__self__, "public_builds", public_builds) pulumi.set(__self__, "readme_url", readme_url) pulumi.set(__self__, "releases_access_level", releases_access_level) @@ -6185,17 +6222,6 @@ def description(self) -> str: """ return pulumi.get(self, "description") - @property - @pulumi.getter(name="emailsDisabled") - def emails_disabled(self) -> bool: - """ - Disable email notifications. - """ - warnings.warn("""Use of `emails_disabled` is deprecated. Use `emails_enabled` instead.""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: Use of `emails_disabled` is deprecated. Use `emails_enabled` instead.""") - - return pulumi.get(self, "emails_disabled") - @property @pulumi.getter(name="emailsEnabled") def emails_enabled(self) -> bool: @@ -6545,14 +6571,6 @@ def permissions(self) -> Sequence['outputs.GetProjectsProjectPermissionResult']: """ return pulumi.get(self, "permissions") - @property - @pulumi.getter - def public(self) -> bool: - """ - Whether the project is public. - """ - return pulumi.get(self, "public") - @property @pulumi.getter(name="publicBuilds") def public_builds(self) -> bool: diff --git a/sdk/python/pulumi_gitlab/pipeline_schedule.py b/sdk/python/pulumi_gitlab/pipeline_schedule.py index 741dff34..f1b06a7f 100644 --- a/sdk/python/pulumi_gitlab/pipeline_schedule.py +++ b/sdk/python/pulumi_gitlab/pipeline_schedule.py @@ -26,7 +26,7 @@ def __init__(__self__, *, :param pulumi.Input[str] cron: The cron (e.g. `0 1 * * *`). :param pulumi.Input[str] description: The description of the pipeline schedule. :param pulumi.Input[str] project: The name or id of the project to add the schedule to. - :param pulumi.Input[str] ref: The branch/tag name to be triggered. + :param pulumi.Input[str] ref: The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. :param pulumi.Input[bool] active: The activation of pipeline schedule. If false is set, the pipeline schedule will deactivated initially. :param pulumi.Input[str] cron_timezone: The timezone. """ @@ -81,7 +81,7 @@ def project(self, value: pulumi.Input[str]): @pulumi.getter def ref(self) -> pulumi.Input[str]: """ - The branch/tag name to be triggered. + The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. """ return pulumi.get(self, "ref") @@ -144,7 +144,7 @@ def __init__(__self__, *, :param pulumi.Input[int] owner: The ID of the user that owns the pipeline schedule. :param pulumi.Input[int] pipeline_schedule_id: The pipeline schedule id. :param pulumi.Input[str] project: The name or id of the project to add the schedule to. - :param pulumi.Input[str] ref: The branch/tag name to be triggered. + :param pulumi.Input[str] ref: The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. """ if active is not None: pulumi.set(__self__, "active", active) @@ -253,7 +253,7 @@ def project(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def ref(self) -> Optional[pulumi.Input[str]]: """ - The branch/tag name to be triggered. + The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. """ return pulumi.get(self, "ref") @@ -298,7 +298,7 @@ def __init__(__self__, example = gitlab.PipelineSchedule("example", project="12345", description="Used to schedule builds", - ref="master", + ref="refs/heads/main", cron="0 1 * * *") ``` @@ -317,7 +317,7 @@ def __init__(__self__, :param pulumi.Input[str] cron_timezone: The timezone. :param pulumi.Input[str] description: The description of the pipeline schedule. :param pulumi.Input[str] project: The name or id of the project to add the schedule to. - :param pulumi.Input[str] ref: The branch/tag name to be triggered. + :param pulumi.Input[str] ref: The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. """ ... @overload @@ -339,7 +339,7 @@ def __init__(__self__, example = gitlab.PipelineSchedule("example", project="12345", description="Used to schedule builds", - ref="master", + ref="refs/heads/main", cron="0 1 * * *") ``` @@ -432,7 +432,7 @@ def get(resource_name: str, :param pulumi.Input[int] owner: The ID of the user that owns the pipeline schedule. :param pulumi.Input[int] pipeline_schedule_id: The pipeline schedule id. :param pulumi.Input[str] project: The name or id of the project to add the schedule to. - :param pulumi.Input[str] ref: The branch/tag name to be triggered. + :param pulumi.Input[str] ref: The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -509,7 +509,7 @@ def project(self) -> pulumi.Output[str]: @pulumi.getter def ref(self) -> pulumi.Output[str]: """ - The branch/tag name to be triggered. + The branch/tag name to be triggered. This must be the full branch reference, for example: `refs/heads/main`, not `main`. """ return pulumi.get(self, "ref") diff --git a/sdk/python/pulumi_gitlab/pipeline_schedule_variable.py b/sdk/python/pulumi_gitlab/pipeline_schedule_variable.py index b9d2f69d..94db41a6 100644 --- a/sdk/python/pulumi_gitlab/pipeline_schedule_variable.py +++ b/sdk/python/pulumi_gitlab/pipeline_schedule_variable.py @@ -17,18 +17,22 @@ def __init__(__self__, *, key: pulumi.Input[str], pipeline_schedule_id: pulumi.Input[int], project: pulumi.Input[str], - value: pulumi.Input[str]): + value: pulumi.Input[str], + variable_type: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a PipelineScheduleVariable resource. :param pulumi.Input[str] key: Name of the variable. :param pulumi.Input[int] pipeline_schedule_id: The id of the pipeline schedule. :param pulumi.Input[str] project: The id of the project to add the schedule to. :param pulumi.Input[str] value: Value of the variable. + :param pulumi.Input[str] variable_type: The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "pipeline_schedule_id", pipeline_schedule_id) pulumi.set(__self__, "project", project) pulumi.set(__self__, "value", value) + if variable_type is not None: + pulumi.set(__self__, "variable_type", variable_type) @property @pulumi.getter @@ -78,6 +82,18 @@ def value(self) -> pulumi.Input[str]: def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) + @property + @pulumi.getter(name="variableType") + def variable_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + """ + return pulumi.get(self, "variable_type") + + @variable_type.setter + def variable_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "variable_type", value) + @pulumi.input_type class _PipelineScheduleVariableState: @@ -85,13 +101,15 @@ def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, pipeline_schedule_id: Optional[pulumi.Input[int]] = None, project: Optional[pulumi.Input[str]] = None, - value: Optional[pulumi.Input[str]] = None): + value: Optional[pulumi.Input[str]] = None, + variable_type: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering PipelineScheduleVariable resources. :param pulumi.Input[str] key: Name of the variable. :param pulumi.Input[int] pipeline_schedule_id: The id of the pipeline schedule. :param pulumi.Input[str] project: The id of the project to add the schedule to. :param pulumi.Input[str] value: Value of the variable. + :param pulumi.Input[str] variable_type: The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. """ if key is not None: pulumi.set(__self__, "key", key) @@ -101,6 +119,8 @@ def __init__(__self__, *, pulumi.set(__self__, "project", project) if value is not None: pulumi.set(__self__, "value", value) + if variable_type is not None: + pulumi.set(__self__, "variable_type", variable_type) @property @pulumi.getter @@ -150,6 +170,18 @@ def value(self) -> Optional[pulumi.Input[str]]: def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) + @property + @pulumi.getter(name="variableType") + def variable_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + """ + return pulumi.get(self, "variable_type") + + @variable_type.setter + def variable_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "variable_type", value) + class PipelineScheduleVariable(pulumi.CustomResource): @overload @@ -160,6 +192,7 @@ def __init__(__self__, pipeline_schedule_id: Optional[pulumi.Input[int]] = None, project: Optional[pulumi.Input[str]] = None, value: Optional[pulumi.Input[str]] = None, + variable_type: Optional[pulumi.Input[str]] = None, __props__=None): """ The `PipelineScheduleVariable` resource allows to manage the lifecycle of a variable for a pipeline schedule. @@ -198,6 +231,7 @@ def __init__(__self__, :param pulumi.Input[int] pipeline_schedule_id: The id of the pipeline schedule. :param pulumi.Input[str] project: The id of the project to add the schedule to. :param pulumi.Input[str] value: Value of the variable. + :param pulumi.Input[str] variable_type: The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. """ ... @overload @@ -255,6 +289,7 @@ def _internal_init(__self__, pipeline_schedule_id: Optional[pulumi.Input[int]] = None, project: Optional[pulumi.Input[str]] = None, value: Optional[pulumi.Input[str]] = None, + variable_type: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -276,6 +311,7 @@ def _internal_init(__self__, if value is None and not opts.urn: raise TypeError("Missing required property 'value'") __props__.__dict__["value"] = value + __props__.__dict__["variable_type"] = variable_type super(PipelineScheduleVariable, __self__).__init__( 'gitlab:index/pipelineScheduleVariable:PipelineScheduleVariable', resource_name, @@ -289,7 +325,8 @@ def get(resource_name: str, key: Optional[pulumi.Input[str]] = None, pipeline_schedule_id: Optional[pulumi.Input[int]] = None, project: Optional[pulumi.Input[str]] = None, - value: Optional[pulumi.Input[str]] = None) -> 'PipelineScheduleVariable': + value: Optional[pulumi.Input[str]] = None, + variable_type: Optional[pulumi.Input[str]] = None) -> 'PipelineScheduleVariable': """ Get an existing PipelineScheduleVariable resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -301,6 +338,7 @@ def get(resource_name: str, :param pulumi.Input[int] pipeline_schedule_id: The id of the pipeline schedule. :param pulumi.Input[str] project: The id of the project to add the schedule to. :param pulumi.Input[str] value: Value of the variable. + :param pulumi.Input[str] variable_type: The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -310,6 +348,7 @@ def get(resource_name: str, __props__.__dict__["pipeline_schedule_id"] = pipeline_schedule_id __props__.__dict__["project"] = project __props__.__dict__["value"] = value + __props__.__dict__["variable_type"] = variable_type return PipelineScheduleVariable(resource_name, opts=opts, __props__=__props__) @property @@ -344,3 +383,11 @@ def value(self) -> pulumi.Output[str]: """ return pulumi.get(self, "value") + @property + @pulumi.getter(name="variableType") + def variable_type(self) -> pulumi.Output[str]: + """ + The type of a variable. Available types are: `env_var`, `file`. Default is `env_var`. + """ + return pulumi.get(self, "variable_type") + diff --git a/sdk/python/pulumi_gitlab/pipeline_trigger.py b/sdk/python/pulumi_gitlab/pipeline_trigger.py index 2df602e5..5de729f8 100644 --- a/sdk/python/pulumi_gitlab/pipeline_trigger.py +++ b/sdk/python/pulumi_gitlab/pipeline_trigger.py @@ -61,7 +61,7 @@ def __init__(__self__, *, :param pulumi.Input[str] description: The description of the pipeline trigger. :param pulumi.Input[int] pipeline_trigger_id: The pipeline trigger id. :param pulumi.Input[str] project: The name or id of the project to add the trigger to. - :param pulumi.Input[str] token: The pipeline trigger token. + :param pulumi.Input[str] token: The pipeline trigger token. This value is not available during import. """ if description is not None: pulumi.set(__self__, "description", description) @@ -112,7 +112,7 @@ def project(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def token(self) -> Optional[pulumi.Input[str]]: """ - The pipeline trigger token. + The pipeline trigger token. This value is not available during import. """ return pulumi.get(self, "token") @@ -248,7 +248,7 @@ def get(resource_name: str, :param pulumi.Input[str] description: The description of the pipeline trigger. :param pulumi.Input[int] pipeline_trigger_id: The pipeline trigger id. :param pulumi.Input[str] project: The name or id of the project to add the trigger to. - :param pulumi.Input[str] token: The pipeline trigger token. + :param pulumi.Input[str] token: The pipeline trigger token. This value is not available during import. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -288,7 +288,7 @@ def project(self) -> pulumi.Output[str]: @pulumi.getter def token(self) -> pulumi.Output[str]: """ - The pipeline trigger token. + The pipeline trigger token. This value is not available during import. """ return pulumi.get(self, "token") diff --git a/sdk/python/pulumi_gitlab/project.py b/sdk/python/pulumi_gitlab/project.py index 27d348e8..0d124074 100644 --- a/sdk/python/pulumi_gitlab/project.py +++ b/sdk/python/pulumi_gitlab/project.py @@ -41,7 +41,6 @@ def __init__(__self__, *, container_registry_enabled: Optional[pulumi.Input[bool]] = None, default_branch: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - emails_disabled: Optional[pulumi.Input[bool]] = None, emails_enabled: Optional[pulumi.Input[bool]] = None, environments_access_level: Optional[pulumi.Input[str]] = None, external_authorization_classification_label: Optional[pulumi.Input[str]] = None, @@ -139,7 +138,6 @@ def __init__(__self__, *, :param pulumi.Input[bool] container_registry_enabled: Enable container registry for the project. :param pulumi.Input[str] default_branch: The default branch for the project. :param pulumi.Input[str] description: A description of the project. - :param pulumi.Input[bool] emails_disabled: Disable email notifications. :param pulumi.Input[bool] emails_enabled: Enable email notifications. :param pulumi.Input[str] environments_access_level: Set the environments access level. Valid values are `disabled`, `private`, `enabled`. :param pulumi.Input[str] external_authorization_classification_label: The classification label for the project. @@ -268,11 +266,6 @@ def __init__(__self__, *, pulumi.set(__self__, "default_branch", default_branch) if description is not None: pulumi.set(__self__, "description", description) - if emails_disabled is not None: - warnings.warn("""use `emails_enabled` instead.""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: use `emails_enabled` instead.""") - if emails_disabled is not None: - pulumi.set(__self__, "emails_disabled", emails_disabled) if emails_enabled is not None: pulumi.set(__self__, "emails_enabled", emails_enabled) if environments_access_level is not None: @@ -723,21 +716,6 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) - @property - @pulumi.getter(name="emailsDisabled") - def emails_disabled(self) -> Optional[pulumi.Input[bool]]: - """ - Disable email notifications. - """ - warnings.warn("""use `emails_enabled` instead.""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: use `emails_enabled` instead.""") - - return pulumi.get(self, "emails_disabled") - - @emails_disabled.setter - def emails_disabled(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "emails_disabled", value) - @property @pulumi.getter(name="emailsEnabled") def emails_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -1582,7 +1560,6 @@ def __init__(__self__, *, container_registry_enabled: Optional[pulumi.Input[bool]] = None, default_branch: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - emails_disabled: Optional[pulumi.Input[bool]] = None, emails_enabled: Optional[pulumi.Input[bool]] = None, empty_repo: Optional[pulumi.Input[bool]] = None, environments_access_level: Optional[pulumi.Input[str]] = None, @@ -1687,7 +1664,6 @@ def __init__(__self__, *, :param pulumi.Input[bool] container_registry_enabled: Enable container registry for the project. :param pulumi.Input[str] default_branch: The default branch for the project. :param pulumi.Input[str] description: A description of the project. - :param pulumi.Input[bool] emails_disabled: Disable email notifications. :param pulumi.Input[bool] emails_enabled: Enable email notifications. :param pulumi.Input[bool] empty_repo: Whether the project is empty. :param pulumi.Input[str] environments_access_level: Set the environments access level. Valid values are `disabled`, `private`, `enabled`. @@ -1824,11 +1800,6 @@ def __init__(__self__, *, pulumi.set(__self__, "default_branch", default_branch) if description is not None: pulumi.set(__self__, "description", description) - if emails_disabled is not None: - warnings.warn("""use `emails_enabled` instead.""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: use `emails_enabled` instead.""") - if emails_disabled is not None: - pulumi.set(__self__, "emails_disabled", emails_disabled) if emails_enabled is not None: pulumi.set(__self__, "emails_enabled", emails_enabled) if empty_repo is not None: @@ -2303,21 +2274,6 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) - @property - @pulumi.getter(name="emailsDisabled") - def emails_disabled(self) -> Optional[pulumi.Input[bool]]: - """ - Disable email notifications. - """ - warnings.warn("""use `emails_enabled` instead.""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: use `emails_enabled` instead.""") - - return pulumi.get(self, "emails_disabled") - - @emails_disabled.setter - def emails_disabled(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "emails_disabled", value) - @property @pulumi.getter(name="emailsEnabled") def emails_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -3235,7 +3191,6 @@ def __init__(__self__, container_registry_enabled: Optional[pulumi.Input[bool]] = None, default_branch: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - emails_disabled: Optional[pulumi.Input[bool]] = None, emails_enabled: Optional[pulumi.Input[bool]] = None, environments_access_level: Optional[pulumi.Input[str]] = None, external_authorization_classification_label: Optional[pulumi.Input[str]] = None, @@ -3353,7 +3308,6 @@ def __init__(__self__, :param pulumi.Input[bool] container_registry_enabled: Enable container registry for the project. :param pulumi.Input[str] default_branch: The default branch for the project. :param pulumi.Input[str] description: A description of the project. - :param pulumi.Input[bool] emails_disabled: Disable email notifications. :param pulumi.Input[bool] emails_enabled: Enable email notifications. :param pulumi.Input[str] environments_access_level: Set the environments access level. Valid values are `disabled`, `private`, `enabled`. :param pulumi.Input[str] external_authorization_classification_label: The classification label for the project. @@ -3491,7 +3445,6 @@ def _internal_init(__self__, container_registry_enabled: Optional[pulumi.Input[bool]] = None, default_branch: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - emails_disabled: Optional[pulumi.Input[bool]] = None, emails_enabled: Optional[pulumi.Input[bool]] = None, environments_access_level: Optional[pulumi.Input[str]] = None, external_authorization_classification_label: Optional[pulumi.Input[str]] = None, @@ -3593,7 +3546,6 @@ def _internal_init(__self__, __props__.__dict__["container_registry_enabled"] = container_registry_enabled __props__.__dict__["default_branch"] = default_branch __props__.__dict__["description"] = description - __props__.__dict__["emails_disabled"] = emails_disabled __props__.__dict__["emails_enabled"] = emails_enabled __props__.__dict__["environments_access_level"] = environments_access_level __props__.__dict__["external_authorization_classification_label"] = external_authorization_classification_label @@ -3706,7 +3658,6 @@ def get(resource_name: str, container_registry_enabled: Optional[pulumi.Input[bool]] = None, default_branch: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - emails_disabled: Optional[pulumi.Input[bool]] = None, emails_enabled: Optional[pulumi.Input[bool]] = None, empty_repo: Optional[pulumi.Input[bool]] = None, environments_access_level: Optional[pulumi.Input[str]] = None, @@ -3816,7 +3767,6 @@ def get(resource_name: str, :param pulumi.Input[bool] container_registry_enabled: Enable container registry for the project. :param pulumi.Input[str] default_branch: The default branch for the project. :param pulumi.Input[str] description: A description of the project. - :param pulumi.Input[bool] emails_disabled: Disable email notifications. :param pulumi.Input[bool] emails_enabled: Enable email notifications. :param pulumi.Input[bool] empty_repo: Whether the project is empty. :param pulumi.Input[str] environments_access_level: Set the environments access level. Valid values are `disabled`, `private`, `enabled`. @@ -3925,7 +3875,6 @@ def get(resource_name: str, __props__.__dict__["container_registry_enabled"] = container_registry_enabled __props__.__dict__["default_branch"] = default_branch __props__.__dict__["description"] = description - __props__.__dict__["emails_disabled"] = emails_disabled __props__.__dict__["emails_enabled"] = emails_enabled __props__.__dict__["empty_repo"] = empty_repo __props__.__dict__["environments_access_level"] = environments_access_level @@ -4218,17 +4167,6 @@ def description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "description") - @property - @pulumi.getter(name="emailsDisabled") - def emails_disabled(self) -> pulumi.Output[bool]: - """ - Disable email notifications. - """ - warnings.warn("""use `emails_enabled` instead.""", DeprecationWarning) - pulumi.log.warn("""emails_disabled is deprecated: use `emails_enabled` instead.""") - - return pulumi.get(self, "emails_disabled") - @property @pulumi.getter(name="emailsEnabled") def emails_enabled(self) -> pulumi.Output[bool]: diff --git a/sdk/python/pulumi_gitlab/project_access_token.py b/sdk/python/pulumi_gitlab/project_access_token.py index 28035a10..772ac948 100644 --- a/sdk/python/pulumi_gitlab/project_access_token.py +++ b/sdk/python/pulumi_gitlab/project_access_token.py @@ -26,7 +26,7 @@ def __init__(__self__, *, The set of arguments for constructing a ProjectAccessToken resource. :param pulumi.Input[str] project: The ID or full path of the project. :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: The scopes of the project access token. valid values are: `api`, `read_api`, `read_user`, `k8s_proxy`, `read_registry`, `write_registry`, `read_repository`, `write_repository`, `create_runner`, `ai_features`, `k8s_proxy`, `read_observability`, `write_observability` - :param pulumi.Input[str] access_level: The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + :param pulumi.Input[str] access_level: The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. :param pulumi.Input[str] expires_at: When the token will expire, YYYY-MM-DD format. Is automatically set when `rotation_configuration` is used. :param pulumi.Input[str] name: The name of the project access token. :param pulumi.Input['ProjectAccessTokenRotationConfigurationArgs'] rotation_configuration: The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run. @@ -70,7 +70,7 @@ def scopes(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): @pulumi.getter(name="accessLevel") def access_level(self) -> Optional[pulumi.Input[str]]: """ - The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. """ return pulumi.get(self, "access_level") @@ -131,7 +131,7 @@ def __init__(__self__, *, user_id: Optional[pulumi.Input[int]] = None): """ Input properties used for looking up and filtering ProjectAccessToken resources. - :param pulumi.Input[str] access_level: The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + :param pulumi.Input[str] access_level: The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. :param pulumi.Input[bool] active: True if the token is active. :param pulumi.Input[str] created_at: Time the token has been created, RFC3339 format. :param pulumi.Input[str] expires_at: When the token will expire, YYYY-MM-DD format. Is automatically set when `rotation_configuration` is used. @@ -170,7 +170,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessLevel") def access_level(self) -> Optional[pulumi.Input[str]]: """ - The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. """ return pulumi.get(self, "access_level") @@ -352,7 +352,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + :param pulumi.Input[str] access_level: The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. :param pulumi.Input[str] expires_at: When the token will expire, YYYY-MM-DD format. Is automatically set when `rotation_configuration` is used. :param pulumi.Input[str] name: The name of the project access token. :param pulumi.Input[str] project: The ID or full path of the project. @@ -479,7 +479,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + :param pulumi.Input[str] access_level: The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. :param pulumi.Input[bool] active: True if the token is active. :param pulumi.Input[str] created_at: Time the token has been created, RFC3339 format. :param pulumi.Input[str] expires_at: When the token will expire, YYYY-MM-DD format. Is automatically set when `rotation_configuration` is used. @@ -512,7 +512,7 @@ def get(resource_name: str, @pulumi.getter(name="accessLevel") def access_level(self) -> pulumi.Output[str]: """ - The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master`. Default is `maintainer`. + The access level for the project access token. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`. """ return pulumi.get(self, "access_level") diff --git a/sdk/python/pulumi_gitlab/project_job_token_scope.py b/sdk/python/pulumi_gitlab/project_job_token_scope.py index d04a0d87..eae6a7a0 100644 --- a/sdk/python/pulumi_gitlab/project_job_token_scope.py +++ b/sdk/python/pulumi_gitlab/project_job_token_scope.py @@ -99,12 +99,15 @@ def __init__(__self__, __props__=None): """ The `ProjectJobTokenScope` resource allows to manage the CI/CD Job Token scope in a project. + Any projects added to the CI/CD Job Token scope outside of TF will be untouched by the resource. + + > Conflicts with the use of `ProjectJobTokenScopes` when used on the same project. Use one or the other to ensure the desired state. **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) ## Import - GitLab project environments can be imported using an id made up of `projectId:targetProjectId`, e.g. + GitLab project job token scopes can be imported using an id made up of `projectId:targetProjectId`, e.g. ```sh $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:321 @@ -123,12 +126,15 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None): """ The `ProjectJobTokenScope` resource allows to manage the CI/CD Job Token scope in a project. + Any projects added to the CI/CD Job Token scope outside of TF will be untouched by the resource. + + > Conflicts with the use of `ProjectJobTokenScopes` when used on the same project. Use one or the other to ensure the desired state. **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) ## Import - GitLab project environments can be imported using an id made up of `projectId:targetProjectId`, e.g. + GitLab project job token scopes can be imported using an id made up of `projectId:targetProjectId`, e.g. ```sh $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:321 diff --git a/sdk/python/pulumi_gitlab/project_job_token_scopes.py b/sdk/python/pulumi_gitlab/project_job_token_scopes.py new file mode 100644 index 00000000..1233cc33 --- /dev/null +++ b/sdk/python/pulumi_gitlab/project_job_token_scopes.py @@ -0,0 +1,220 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ProjectJobTokenScopesArgs', 'ProjectJobTokenScopes'] + +@pulumi.input_type +class ProjectJobTokenScopesArgs: + def __init__(__self__, *, + project_id: pulumi.Input[int], + target_project_ids: pulumi.Input[Sequence[pulumi.Input[int]]]): + """ + The set of arguments for constructing a ProjectJobTokenScopes resource. + :param pulumi.Input[int] project_id: The ID of the project. + :param pulumi.Input[Sequence[pulumi.Input[int]]] target_project_ids: A set of project IDs that are in the CI/CD job token inbound allowlist. + """ + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "target_project_ids", target_project_ids) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[int]: + """ + The ID of the project. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[int]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="targetProjectIds") + def target_project_ids(self) -> pulumi.Input[Sequence[pulumi.Input[int]]]: + """ + A set of project IDs that are in the CI/CD job token inbound allowlist. + """ + return pulumi.get(self, "target_project_ids") + + @target_project_ids.setter + def target_project_ids(self, value: pulumi.Input[Sequence[pulumi.Input[int]]]): + pulumi.set(self, "target_project_ids", value) + + +@pulumi.input_type +class _ProjectJobTokenScopesState: + def __init__(__self__, *, + project_id: Optional[pulumi.Input[int]] = None, + target_project_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None): + """ + Input properties used for looking up and filtering ProjectJobTokenScopes resources. + :param pulumi.Input[int] project_id: The ID of the project. + :param pulumi.Input[Sequence[pulumi.Input[int]]] target_project_ids: A set of project IDs that are in the CI/CD job token inbound allowlist. + """ + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if target_project_ids is not None: + pulumi.set(__self__, "target_project_ids", target_project_ids) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[int]]: + """ + The ID of the project. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="targetProjectIds") + def target_project_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + A set of project IDs that are in the CI/CD job token inbound allowlist. + """ + return pulumi.get(self, "target_project_ids") + + @target_project_ids.setter + def target_project_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "target_project_ids", value) + + +class ProjectJobTokenScopes(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + project_id: Optional[pulumi.Input[int]] = None, + target_project_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + __props__=None): + """ + The `ProjectJobTokenScopes` resource allows to manage the CI/CD Job Token scopes in a project. + Any project not within the defined set in this attribute will be removed, which allows this resource to be used as an explicit deny. + + > Conflicts with the use of `ProjectJobTokenScope` when used on the same project. Use one or the other to ensure the desired state. + + **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) + + ## Import + + GitLab project job token scopes can be imported using an id made up of just the `project_id` as an integer + + ```sh + $ pulumi import gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes bar 123 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] project_id: The ID of the project. + :param pulumi.Input[Sequence[pulumi.Input[int]]] target_project_ids: A set of project IDs that are in the CI/CD job token inbound allowlist. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProjectJobTokenScopesArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The `ProjectJobTokenScopes` resource allows to manage the CI/CD Job Token scopes in a project. + Any project not within the defined set in this attribute will be removed, which allows this resource to be used as an explicit deny. + + > Conflicts with the use of `ProjectJobTokenScope` when used on the same project. Use one or the other to ensure the desired state. + + **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/project_job_token_scopes.html) + + ## Import + + GitLab project job token scopes can be imported using an id made up of just the `project_id` as an integer + + ```sh + $ pulumi import gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes bar 123 + ``` + + :param str resource_name: The name of the resource. + :param ProjectJobTokenScopesArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ProjectJobTokenScopesArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + project_id: Optional[pulumi.Input[int]] = None, + target_project_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ProjectJobTokenScopesArgs.__new__(ProjectJobTokenScopesArgs) + + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + if target_project_ids is None and not opts.urn: + raise TypeError("Missing required property 'target_project_ids'") + __props__.__dict__["target_project_ids"] = target_project_ids + super(ProjectJobTokenScopes, __self__).__init__( + 'gitlab:index/projectJobTokenScopes:ProjectJobTokenScopes', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + project_id: Optional[pulumi.Input[int]] = None, + target_project_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None) -> 'ProjectJobTokenScopes': + """ + Get an existing ProjectJobTokenScopes resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] project_id: The ID of the project. + :param pulumi.Input[Sequence[pulumi.Input[int]]] target_project_ids: A set of project IDs that are in the CI/CD job token inbound allowlist. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ProjectJobTokenScopesState.__new__(_ProjectJobTokenScopesState) + + __props__.__dict__["project_id"] = project_id + __props__.__dict__["target_project_ids"] = target_project_ids + return ProjectJobTokenScopes(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[int]: + """ + The ID of the project. + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter(name="targetProjectIds") + def target_project_ids(self) -> pulumi.Output[Sequence[int]]: + """ + A set of project IDs that are in the CI/CD job token inbound allowlist. + """ + return pulumi.get(self, "target_project_ids") + diff --git a/sdk/python/pulumi_gitlab/project_membership.py b/sdk/python/pulumi_gitlab/project_membership.py index 17dac59a..7687e5bc 100644 --- a/sdk/python/pulumi_gitlab/project_membership.py +++ b/sdk/python/pulumi_gitlab/project_membership.py @@ -20,7 +20,7 @@ def __init__(__self__, *, expires_at: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a ProjectMembership resource. - :param pulumi.Input[str] access_level: The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] project: The ID or URL-encoded path of the project. :param pulumi.Input[int] user_id: The id of the user. :param pulumi.Input[str] expires_at: Expiration date for the project membership. Format: `YYYY-MM-DD` @@ -35,7 +35,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessLevel") def access_level(self) -> pulumi.Input[str]: """ - The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "access_level") @@ -89,7 +89,7 @@ def __init__(__self__, *, user_id: Optional[pulumi.Input[int]] = None): """ Input properties used for looking up and filtering ProjectMembership resources. - :param pulumi.Input[str] access_level: The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] expires_at: Expiration date for the project membership. Format: `YYYY-MM-DD` :param pulumi.Input[str] project: The ID or URL-encoded path of the project. :param pulumi.Input[int] user_id: The id of the user. @@ -107,7 +107,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessLevel") def access_level(self) -> Optional[pulumi.Input[str]]: """ - The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "access_level") @@ -196,7 +196,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] expires_at: Expiration date for the project membership. Format: `YYYY-MM-DD` :param pulumi.Input[str] project: The ID or URL-encoded path of the project. :param pulumi.Input[int] user_id: The id of the user. @@ -298,7 +298,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[str] expires_at: Expiration date for the project membership. Format: `YYYY-MM-DD` :param pulumi.Input[str] project: The ID or URL-encoded path of the project. :param pulumi.Input[int] user_id: The id of the user. @@ -317,7 +317,7 @@ def get(resource_name: str, @pulumi.getter(name="accessLevel") def access_level(self) -> pulumi.Output[str]: """ - The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level for the member. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "access_level") diff --git a/sdk/python/pulumi_gitlab/project_protected_environment.py b/sdk/python/pulumi_gitlab/project_protected_environment.py index b758e1c2..65a6897d 100644 --- a/sdk/python/pulumi_gitlab/project_protected_environment.py +++ b/sdk/python/pulumi_gitlab/project_protected_environment.py @@ -19,15 +19,13 @@ def __init__(__self__, *, environment: pulumi.Input[str], project: pulumi.Input[str], approval_rules: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentApprovalRuleArgs']]]] = None, - deploy_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]]] = None, - required_approval_count: Optional[pulumi.Input[int]] = None): + deploy_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]]] = None): """ The set of arguments for constructing a ProjectProtectedEnvironment resource. :param pulumi.Input[str] environment: The name of the environment. :param pulumi.Input[str] project: The ID or full path of the project which the protected environment is created against. :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentApprovalRuleArgs']]] approval_rules: Array of approval rules to deploy, with each described by a hash. :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. - :param pulumi.Input[int] required_approval_count: The number of approvals required to deploy to this environment. """ pulumi.set(__self__, "environment", environment) pulumi.set(__self__, "project", project) @@ -35,8 +33,6 @@ def __init__(__self__, *, pulumi.set(__self__, "approval_rules", approval_rules) if deploy_access_levels is not None: pulumi.set(__self__, "deploy_access_levels", deploy_access_levels) - if required_approval_count is not None: - pulumi.set(__self__, "required_approval_count", required_approval_count) @property @pulumi.getter @@ -86,18 +82,6 @@ def deploy_access_levels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P def deploy_access_levels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]]]): pulumi.set(self, "deploy_access_levels", value) - @property - @pulumi.getter(name="requiredApprovalCount") - def required_approval_count(self) -> Optional[pulumi.Input[int]]: - """ - The number of approvals required to deploy to this environment. - """ - return pulumi.get(self, "required_approval_count") - - @required_approval_count.setter - def required_approval_count(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "required_approval_count", value) - @pulumi.input_type class _ProjectProtectedEnvironmentState: @@ -105,15 +89,13 @@ def __init__(__self__, *, approval_rules: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentApprovalRuleArgs']]]] = None, deploy_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]]] = None, environment: Optional[pulumi.Input[str]] = None, - project: Optional[pulumi.Input[str]] = None, - required_approval_count: Optional[pulumi.Input[int]] = None): + project: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering ProjectProtectedEnvironment resources. :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentApprovalRuleArgs']]] approval_rules: Array of approval rules to deploy, with each described by a hash. :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. :param pulumi.Input[str] environment: The name of the environment. :param pulumi.Input[str] project: The ID or full path of the project which the protected environment is created against. - :param pulumi.Input[int] required_approval_count: The number of approvals required to deploy to this environment. """ if approval_rules is not None: pulumi.set(__self__, "approval_rules", approval_rules) @@ -123,8 +105,6 @@ def __init__(__self__, *, pulumi.set(__self__, "environment", environment) if project is not None: pulumi.set(__self__, "project", project) - if required_approval_count is not None: - pulumi.set(__self__, "required_approval_count", required_approval_count) @property @pulumi.getter(name="approvalRules") @@ -174,18 +154,6 @@ def project(self) -> Optional[pulumi.Input[str]]: def project(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "project", value) - @property - @pulumi.getter(name="requiredApprovalCount") - def required_approval_count(self) -> Optional[pulumi.Input[int]]: - """ - The number of approvals required to deploy to this environment. - """ - return pulumi.get(self, "required_approval_count") - - @required_approval_count.setter - def required_approval_count(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "required_approval_count", value) - class ProjectProtectedEnvironment(pulumi.CustomResource): @overload @@ -196,7 +164,6 @@ def __init__(__self__, deploy_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectProtectedEnvironmentDeployAccessLevelArgs']]]]] = None, environment: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, - required_approval_count: Optional[pulumi.Input[int]] = None, __props__=None): """ The `ProjectProtectedEnvironment` resource allows to manage the lifecycle of a protected environment in a project. @@ -223,7 +190,6 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectProtectedEnvironmentDeployAccessLevelArgs']]]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. :param pulumi.Input[str] environment: The name of the environment. :param pulumi.Input[str] project: The ID or full path of the project which the protected environment is created against. - :param pulumi.Input[int] required_approval_count: The number of approvals required to deploy to this environment. """ ... @overload @@ -269,7 +235,6 @@ def _internal_init(__self__, deploy_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectProtectedEnvironmentDeployAccessLevelArgs']]]]] = None, environment: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, - required_approval_count: Optional[pulumi.Input[int]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -287,7 +252,6 @@ def _internal_init(__self__, if project is None and not opts.urn: raise TypeError("Missing required property 'project'") __props__.__dict__["project"] = project - __props__.__dict__["required_approval_count"] = required_approval_count super(ProjectProtectedEnvironment, __self__).__init__( 'gitlab:index/projectProtectedEnvironment:ProjectProtectedEnvironment', resource_name, @@ -301,8 +265,7 @@ def get(resource_name: str, approval_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectProtectedEnvironmentApprovalRuleArgs']]]]] = None, deploy_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectProtectedEnvironmentDeployAccessLevelArgs']]]]] = None, environment: Optional[pulumi.Input[str]] = None, - project: Optional[pulumi.Input[str]] = None, - required_approval_count: Optional[pulumi.Input[int]] = None) -> 'ProjectProtectedEnvironment': + project: Optional[pulumi.Input[str]] = None) -> 'ProjectProtectedEnvironment': """ Get an existing ProjectProtectedEnvironment resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -314,7 +277,6 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectProtectedEnvironmentDeployAccessLevelArgs']]]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. :param pulumi.Input[str] environment: The name of the environment. :param pulumi.Input[str] project: The ID or full path of the project which the protected environment is created against. - :param pulumi.Input[int] required_approval_count: The number of approvals required to deploy to this environment. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -324,7 +286,6 @@ def get(resource_name: str, __props__.__dict__["deploy_access_levels"] = deploy_access_levels __props__.__dict__["environment"] = environment __props__.__dict__["project"] = project - __props__.__dict__["required_approval_count"] = required_approval_count return ProjectProtectedEnvironment(resource_name, opts=opts, __props__=__props__) @property @@ -359,11 +320,3 @@ def project(self) -> pulumi.Output[str]: """ return pulumi.get(self, "project") - @property - @pulumi.getter(name="requiredApprovalCount") - def required_approval_count(self) -> pulumi.Output[int]: - """ - The number of approvals required to deploy to this environment. - """ - return pulumi.get(self, "required_approval_count") - diff --git a/sdk/python/pulumi_gitlab/project_push_rules.py b/sdk/python/pulumi_gitlab/project_push_rules.py new file mode 100644 index 00000000..9f963217 --- /dev/null +++ b/sdk/python/pulumi_gitlab/project_push_rules.py @@ -0,0 +1,766 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ProjectPushRulesInitArgs', 'ProjectPushRules'] + +@pulumi.input_type +class ProjectPushRulesInitArgs: + def __init__(__self__, *, + project: pulumi.Input[str], + author_email_regex: Optional[pulumi.Input[str]] = None, + branch_name_regex: Optional[pulumi.Input[str]] = None, + commit_committer_check: Optional[pulumi.Input[bool]] = None, + commit_committer_name_check: Optional[pulumi.Input[bool]] = None, + commit_message_negative_regex: Optional[pulumi.Input[str]] = None, + commit_message_regex: Optional[pulumi.Input[str]] = None, + deny_delete_tag: Optional[pulumi.Input[bool]] = None, + file_name_regex: Optional[pulumi.Input[str]] = None, + max_file_size: Optional[pulumi.Input[int]] = None, + member_check: Optional[pulumi.Input[bool]] = None, + prevent_secrets: Optional[pulumi.Input[bool]] = None, + reject_unsigned_commits: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a ProjectPushRules resource. + :param pulumi.Input[str] project: The ID or URL-encoded path of the project. + :param pulumi.Input[str] author_email_regex: All commit author emails must match this regex, e.g. `@my-company.com$`. + :param pulumi.Input[str] branch_name_regex: All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. + :param pulumi.Input[bool] commit_committer_check: Users can only push commits to this repository that were committed with one of their own verified emails. + :param pulumi.Input[bool] commit_committer_name_check: Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + :param pulumi.Input[str] commit_message_negative_regex: No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`. + :param pulumi.Input[str] commit_message_regex: All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. + :param pulumi.Input[bool] deny_delete_tag: Deny deleting a tag. + :param pulumi.Input[str] file_name_regex: All committed filenames must not match this regex, e.g. `(jar|exe)$`. + :param pulumi.Input[int] max_file_size: Maximum file size (MB). + :param pulumi.Input[bool] member_check: Restrict commits by author (email) to existing GitLab users. + :param pulumi.Input[bool] prevent_secrets: GitLab will reject any files that are likely to contain secrets. + :param pulumi.Input[bool] reject_unsigned_commits: Reject commit when it’s not signed. + """ + pulumi.set(__self__, "project", project) + if author_email_regex is not None: + pulumi.set(__self__, "author_email_regex", author_email_regex) + if branch_name_regex is not None: + pulumi.set(__self__, "branch_name_regex", branch_name_regex) + if commit_committer_check is not None: + pulumi.set(__self__, "commit_committer_check", commit_committer_check) + if commit_committer_name_check is not None: + pulumi.set(__self__, "commit_committer_name_check", commit_committer_name_check) + if commit_message_negative_regex is not None: + pulumi.set(__self__, "commit_message_negative_regex", commit_message_negative_regex) + if commit_message_regex is not None: + pulumi.set(__self__, "commit_message_regex", commit_message_regex) + if deny_delete_tag is not None: + pulumi.set(__self__, "deny_delete_tag", deny_delete_tag) + if file_name_regex is not None: + pulumi.set(__self__, "file_name_regex", file_name_regex) + if max_file_size is not None: + pulumi.set(__self__, "max_file_size", max_file_size) + if member_check is not None: + pulumi.set(__self__, "member_check", member_check) + if prevent_secrets is not None: + pulumi.set(__self__, "prevent_secrets", prevent_secrets) + if reject_unsigned_commits is not None: + pulumi.set(__self__, "reject_unsigned_commits", reject_unsigned_commits) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + The ID or URL-encoded path of the project. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="authorEmailRegex") + def author_email_regex(self) -> Optional[pulumi.Input[str]]: + """ + All commit author emails must match this regex, e.g. `@my-company.com$`. + """ + return pulumi.get(self, "author_email_regex") + + @author_email_regex.setter + def author_email_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "author_email_regex", value) + + @property + @pulumi.getter(name="branchNameRegex") + def branch_name_regex(self) -> Optional[pulumi.Input[str]]: + """ + All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. + """ + return pulumi.get(self, "branch_name_regex") + + @branch_name_regex.setter + def branch_name_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "branch_name_regex", value) + + @property + @pulumi.getter(name="commitCommitterCheck") + def commit_committer_check(self) -> Optional[pulumi.Input[bool]]: + """ + Users can only push commits to this repository that were committed with one of their own verified emails. + """ + return pulumi.get(self, "commit_committer_check") + + @commit_committer_check.setter + def commit_committer_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "commit_committer_check", value) + + @property + @pulumi.getter(name="commitCommitterNameCheck") + def commit_committer_name_check(self) -> Optional[pulumi.Input[bool]]: + """ + Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + """ + return pulumi.get(self, "commit_committer_name_check") + + @commit_committer_name_check.setter + def commit_committer_name_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "commit_committer_name_check", value) + + @property + @pulumi.getter(name="commitMessageNegativeRegex") + def commit_message_negative_regex(self) -> Optional[pulumi.Input[str]]: + """ + No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`. + """ + return pulumi.get(self, "commit_message_negative_regex") + + @commit_message_negative_regex.setter + def commit_message_negative_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "commit_message_negative_regex", value) + + @property + @pulumi.getter(name="commitMessageRegex") + def commit_message_regex(self) -> Optional[pulumi.Input[str]]: + """ + All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. + """ + return pulumi.get(self, "commit_message_regex") + + @commit_message_regex.setter + def commit_message_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "commit_message_regex", value) + + @property + @pulumi.getter(name="denyDeleteTag") + def deny_delete_tag(self) -> Optional[pulumi.Input[bool]]: + """ + Deny deleting a tag. + """ + return pulumi.get(self, "deny_delete_tag") + + @deny_delete_tag.setter + def deny_delete_tag(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deny_delete_tag", value) + + @property + @pulumi.getter(name="fileNameRegex") + def file_name_regex(self) -> Optional[pulumi.Input[str]]: + """ + All committed filenames must not match this regex, e.g. `(jar|exe)$`. + """ + return pulumi.get(self, "file_name_regex") + + @file_name_regex.setter + def file_name_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "file_name_regex", value) + + @property + @pulumi.getter(name="maxFileSize") + def max_file_size(self) -> Optional[pulumi.Input[int]]: + """ + Maximum file size (MB). + """ + return pulumi.get(self, "max_file_size") + + @max_file_size.setter + def max_file_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_file_size", value) + + @property + @pulumi.getter(name="memberCheck") + def member_check(self) -> Optional[pulumi.Input[bool]]: + """ + Restrict commits by author (email) to existing GitLab users. + """ + return pulumi.get(self, "member_check") + + @member_check.setter + def member_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "member_check", value) + + @property + @pulumi.getter(name="preventSecrets") + def prevent_secrets(self) -> Optional[pulumi.Input[bool]]: + """ + GitLab will reject any files that are likely to contain secrets. + """ + return pulumi.get(self, "prevent_secrets") + + @prevent_secrets.setter + def prevent_secrets(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "prevent_secrets", value) + + @property + @pulumi.getter(name="rejectUnsignedCommits") + def reject_unsigned_commits(self) -> Optional[pulumi.Input[bool]]: + """ + Reject commit when it’s not signed. + """ + return pulumi.get(self, "reject_unsigned_commits") + + @reject_unsigned_commits.setter + def reject_unsigned_commits(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "reject_unsigned_commits", value) + + +@pulumi.input_type +class _ProjectPushRulesState: + def __init__(__self__, *, + author_email_regex: Optional[pulumi.Input[str]] = None, + branch_name_regex: Optional[pulumi.Input[str]] = None, + commit_committer_check: Optional[pulumi.Input[bool]] = None, + commit_committer_name_check: Optional[pulumi.Input[bool]] = None, + commit_message_negative_regex: Optional[pulumi.Input[str]] = None, + commit_message_regex: Optional[pulumi.Input[str]] = None, + deny_delete_tag: Optional[pulumi.Input[bool]] = None, + file_name_regex: Optional[pulumi.Input[str]] = None, + max_file_size: Optional[pulumi.Input[int]] = None, + member_check: Optional[pulumi.Input[bool]] = None, + prevent_secrets: Optional[pulumi.Input[bool]] = None, + project: Optional[pulumi.Input[str]] = None, + reject_unsigned_commits: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering ProjectPushRules resources. + :param pulumi.Input[str] author_email_regex: All commit author emails must match this regex, e.g. `@my-company.com$`. + :param pulumi.Input[str] branch_name_regex: All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. + :param pulumi.Input[bool] commit_committer_check: Users can only push commits to this repository that were committed with one of their own verified emails. + :param pulumi.Input[bool] commit_committer_name_check: Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + :param pulumi.Input[str] commit_message_negative_regex: No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`. + :param pulumi.Input[str] commit_message_regex: All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. + :param pulumi.Input[bool] deny_delete_tag: Deny deleting a tag. + :param pulumi.Input[str] file_name_regex: All committed filenames must not match this regex, e.g. `(jar|exe)$`. + :param pulumi.Input[int] max_file_size: Maximum file size (MB). + :param pulumi.Input[bool] member_check: Restrict commits by author (email) to existing GitLab users. + :param pulumi.Input[bool] prevent_secrets: GitLab will reject any files that are likely to contain secrets. + :param pulumi.Input[str] project: The ID or URL-encoded path of the project. + :param pulumi.Input[bool] reject_unsigned_commits: Reject commit when it’s not signed. + """ + if author_email_regex is not None: + pulumi.set(__self__, "author_email_regex", author_email_regex) + if branch_name_regex is not None: + pulumi.set(__self__, "branch_name_regex", branch_name_regex) + if commit_committer_check is not None: + pulumi.set(__self__, "commit_committer_check", commit_committer_check) + if commit_committer_name_check is not None: + pulumi.set(__self__, "commit_committer_name_check", commit_committer_name_check) + if commit_message_negative_regex is not None: + pulumi.set(__self__, "commit_message_negative_regex", commit_message_negative_regex) + if commit_message_regex is not None: + pulumi.set(__self__, "commit_message_regex", commit_message_regex) + if deny_delete_tag is not None: + pulumi.set(__self__, "deny_delete_tag", deny_delete_tag) + if file_name_regex is not None: + pulumi.set(__self__, "file_name_regex", file_name_regex) + if max_file_size is not None: + pulumi.set(__self__, "max_file_size", max_file_size) + if member_check is not None: + pulumi.set(__self__, "member_check", member_check) + if prevent_secrets is not None: + pulumi.set(__self__, "prevent_secrets", prevent_secrets) + if project is not None: + pulumi.set(__self__, "project", project) + if reject_unsigned_commits is not None: + pulumi.set(__self__, "reject_unsigned_commits", reject_unsigned_commits) + + @property + @pulumi.getter(name="authorEmailRegex") + def author_email_regex(self) -> Optional[pulumi.Input[str]]: + """ + All commit author emails must match this regex, e.g. `@my-company.com$`. + """ + return pulumi.get(self, "author_email_regex") + + @author_email_regex.setter + def author_email_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "author_email_regex", value) + + @property + @pulumi.getter(name="branchNameRegex") + def branch_name_regex(self) -> Optional[pulumi.Input[str]]: + """ + All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. + """ + return pulumi.get(self, "branch_name_regex") + + @branch_name_regex.setter + def branch_name_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "branch_name_regex", value) + + @property + @pulumi.getter(name="commitCommitterCheck") + def commit_committer_check(self) -> Optional[pulumi.Input[bool]]: + """ + Users can only push commits to this repository that were committed with one of their own verified emails. + """ + return pulumi.get(self, "commit_committer_check") + + @commit_committer_check.setter + def commit_committer_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "commit_committer_check", value) + + @property + @pulumi.getter(name="commitCommitterNameCheck") + def commit_committer_name_check(self) -> Optional[pulumi.Input[bool]]: + """ + Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + """ + return pulumi.get(self, "commit_committer_name_check") + + @commit_committer_name_check.setter + def commit_committer_name_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "commit_committer_name_check", value) + + @property + @pulumi.getter(name="commitMessageNegativeRegex") + def commit_message_negative_regex(self) -> Optional[pulumi.Input[str]]: + """ + No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`. + """ + return pulumi.get(self, "commit_message_negative_regex") + + @commit_message_negative_regex.setter + def commit_message_negative_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "commit_message_negative_regex", value) + + @property + @pulumi.getter(name="commitMessageRegex") + def commit_message_regex(self) -> Optional[pulumi.Input[str]]: + """ + All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. + """ + return pulumi.get(self, "commit_message_regex") + + @commit_message_regex.setter + def commit_message_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "commit_message_regex", value) + + @property + @pulumi.getter(name="denyDeleteTag") + def deny_delete_tag(self) -> Optional[pulumi.Input[bool]]: + """ + Deny deleting a tag. + """ + return pulumi.get(self, "deny_delete_tag") + + @deny_delete_tag.setter + def deny_delete_tag(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deny_delete_tag", value) + + @property + @pulumi.getter(name="fileNameRegex") + def file_name_regex(self) -> Optional[pulumi.Input[str]]: + """ + All committed filenames must not match this regex, e.g. `(jar|exe)$`. + """ + return pulumi.get(self, "file_name_regex") + + @file_name_regex.setter + def file_name_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "file_name_regex", value) + + @property + @pulumi.getter(name="maxFileSize") + def max_file_size(self) -> Optional[pulumi.Input[int]]: + """ + Maximum file size (MB). + """ + return pulumi.get(self, "max_file_size") + + @max_file_size.setter + def max_file_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_file_size", value) + + @property + @pulumi.getter(name="memberCheck") + def member_check(self) -> Optional[pulumi.Input[bool]]: + """ + Restrict commits by author (email) to existing GitLab users. + """ + return pulumi.get(self, "member_check") + + @member_check.setter + def member_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "member_check", value) + + @property + @pulumi.getter(name="preventSecrets") + def prevent_secrets(self) -> Optional[pulumi.Input[bool]]: + """ + GitLab will reject any files that are likely to contain secrets. + """ + return pulumi.get(self, "prevent_secrets") + + @prevent_secrets.setter + def prevent_secrets(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "prevent_secrets", value) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + The ID or URL-encoded path of the project. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @property + @pulumi.getter(name="rejectUnsignedCommits") + def reject_unsigned_commits(self) -> Optional[pulumi.Input[bool]]: + """ + Reject commit when it’s not signed. + """ + return pulumi.get(self, "reject_unsigned_commits") + + @reject_unsigned_commits.setter + def reject_unsigned_commits(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "reject_unsigned_commits", value) + + +class ProjectPushRules(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + author_email_regex: Optional[pulumi.Input[str]] = None, + branch_name_regex: Optional[pulumi.Input[str]] = None, + commit_committer_check: Optional[pulumi.Input[bool]] = None, + commit_committer_name_check: Optional[pulumi.Input[bool]] = None, + commit_message_negative_regex: Optional[pulumi.Input[str]] = None, + commit_message_regex: Optional[pulumi.Input[str]] = None, + deny_delete_tag: Optional[pulumi.Input[bool]] = None, + file_name_regex: Optional[pulumi.Input[str]] = None, + max_file_size: Optional[pulumi.Input[int]] = None, + member_check: Optional[pulumi.Input[bool]] = None, + prevent_secrets: Optional[pulumi.Input[bool]] = None, + project: Optional[pulumi.Input[str]] = None, + reject_unsigned_commits: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + ## Example Usage + + ```python + import pulumi + import pulumi_gitlab as gitlab + + sample = gitlab.ProjectPushRules("sample", + project="42", + author_email_regex="@gitlab.com$", + branch_name_regex="(feat|fix)\\\\/*", + commit_committer_check=True, + commit_committer_name_check=True, + commit_message_negative_regex="ssh\\\\:\\\\/\\\\/", + commit_message_regex="(feat|fix):.*", + deny_delete_tag=False, + file_name_regex="(jar|exe)$", + max_file_size=4, + member_check=True, + prevent_secrets=True, + reject_unsigned_commits=False) + ``` + + ## Import + + Gitlab project push rules can be imported with a key composed of ``, e.g. + + ```sh + $ pulumi import gitlab:index/projectPushRules:ProjectPushRules sample "42" + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] author_email_regex: All commit author emails must match this regex, e.g. `@my-company.com$`. + :param pulumi.Input[str] branch_name_regex: All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. + :param pulumi.Input[bool] commit_committer_check: Users can only push commits to this repository that were committed with one of their own verified emails. + :param pulumi.Input[bool] commit_committer_name_check: Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + :param pulumi.Input[str] commit_message_negative_regex: No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`. + :param pulumi.Input[str] commit_message_regex: All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. + :param pulumi.Input[bool] deny_delete_tag: Deny deleting a tag. + :param pulumi.Input[str] file_name_regex: All committed filenames must not match this regex, e.g. `(jar|exe)$`. + :param pulumi.Input[int] max_file_size: Maximum file size (MB). + :param pulumi.Input[bool] member_check: Restrict commits by author (email) to existing GitLab users. + :param pulumi.Input[bool] prevent_secrets: GitLab will reject any files that are likely to contain secrets. + :param pulumi.Input[str] project: The ID or URL-encoded path of the project. + :param pulumi.Input[bool] reject_unsigned_commits: Reject commit when it’s not signed. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProjectPushRulesInitArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + ```python + import pulumi + import pulumi_gitlab as gitlab + + sample = gitlab.ProjectPushRules("sample", + project="42", + author_email_regex="@gitlab.com$", + branch_name_regex="(feat|fix)\\\\/*", + commit_committer_check=True, + commit_committer_name_check=True, + commit_message_negative_regex="ssh\\\\:\\\\/\\\\/", + commit_message_regex="(feat|fix):.*", + deny_delete_tag=False, + file_name_regex="(jar|exe)$", + max_file_size=4, + member_check=True, + prevent_secrets=True, + reject_unsigned_commits=False) + ``` + + ## Import + + Gitlab project push rules can be imported with a key composed of ``, e.g. + + ```sh + $ pulumi import gitlab:index/projectPushRules:ProjectPushRules sample "42" + ``` + + :param str resource_name: The name of the resource. + :param ProjectPushRulesInitArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ProjectPushRulesInitArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + author_email_regex: Optional[pulumi.Input[str]] = None, + branch_name_regex: Optional[pulumi.Input[str]] = None, + commit_committer_check: Optional[pulumi.Input[bool]] = None, + commit_committer_name_check: Optional[pulumi.Input[bool]] = None, + commit_message_negative_regex: Optional[pulumi.Input[str]] = None, + commit_message_regex: Optional[pulumi.Input[str]] = None, + deny_delete_tag: Optional[pulumi.Input[bool]] = None, + file_name_regex: Optional[pulumi.Input[str]] = None, + max_file_size: Optional[pulumi.Input[int]] = None, + member_check: Optional[pulumi.Input[bool]] = None, + prevent_secrets: Optional[pulumi.Input[bool]] = None, + project: Optional[pulumi.Input[str]] = None, + reject_unsigned_commits: Optional[pulumi.Input[bool]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ProjectPushRulesInitArgs.__new__(ProjectPushRulesInitArgs) + + __props__.__dict__["author_email_regex"] = author_email_regex + __props__.__dict__["branch_name_regex"] = branch_name_regex + __props__.__dict__["commit_committer_check"] = commit_committer_check + __props__.__dict__["commit_committer_name_check"] = commit_committer_name_check + __props__.__dict__["commit_message_negative_regex"] = commit_message_negative_regex + __props__.__dict__["commit_message_regex"] = commit_message_regex + __props__.__dict__["deny_delete_tag"] = deny_delete_tag + __props__.__dict__["file_name_regex"] = file_name_regex + __props__.__dict__["max_file_size"] = max_file_size + __props__.__dict__["member_check"] = member_check + __props__.__dict__["prevent_secrets"] = prevent_secrets + if project is None and not opts.urn: + raise TypeError("Missing required property 'project'") + __props__.__dict__["project"] = project + __props__.__dict__["reject_unsigned_commits"] = reject_unsigned_commits + super(ProjectPushRules, __self__).__init__( + 'gitlab:index/projectPushRules:ProjectPushRules', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + author_email_regex: Optional[pulumi.Input[str]] = None, + branch_name_regex: Optional[pulumi.Input[str]] = None, + commit_committer_check: Optional[pulumi.Input[bool]] = None, + commit_committer_name_check: Optional[pulumi.Input[bool]] = None, + commit_message_negative_regex: Optional[pulumi.Input[str]] = None, + commit_message_regex: Optional[pulumi.Input[str]] = None, + deny_delete_tag: Optional[pulumi.Input[bool]] = None, + file_name_regex: Optional[pulumi.Input[str]] = None, + max_file_size: Optional[pulumi.Input[int]] = None, + member_check: Optional[pulumi.Input[bool]] = None, + prevent_secrets: Optional[pulumi.Input[bool]] = None, + project: Optional[pulumi.Input[str]] = None, + reject_unsigned_commits: Optional[pulumi.Input[bool]] = None) -> 'ProjectPushRules': + """ + Get an existing ProjectPushRules resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] author_email_regex: All commit author emails must match this regex, e.g. `@my-company.com$`. + :param pulumi.Input[str] branch_name_regex: All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. + :param pulumi.Input[bool] commit_committer_check: Users can only push commits to this repository that were committed with one of their own verified emails. + :param pulumi.Input[bool] commit_committer_name_check: Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + :param pulumi.Input[str] commit_message_negative_regex: No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`. + :param pulumi.Input[str] commit_message_regex: All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. + :param pulumi.Input[bool] deny_delete_tag: Deny deleting a tag. + :param pulumi.Input[str] file_name_regex: All committed filenames must not match this regex, e.g. `(jar|exe)$`. + :param pulumi.Input[int] max_file_size: Maximum file size (MB). + :param pulumi.Input[bool] member_check: Restrict commits by author (email) to existing GitLab users. + :param pulumi.Input[bool] prevent_secrets: GitLab will reject any files that are likely to contain secrets. + :param pulumi.Input[str] project: The ID or URL-encoded path of the project. + :param pulumi.Input[bool] reject_unsigned_commits: Reject commit when it’s not signed. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ProjectPushRulesState.__new__(_ProjectPushRulesState) + + __props__.__dict__["author_email_regex"] = author_email_regex + __props__.__dict__["branch_name_regex"] = branch_name_regex + __props__.__dict__["commit_committer_check"] = commit_committer_check + __props__.__dict__["commit_committer_name_check"] = commit_committer_name_check + __props__.__dict__["commit_message_negative_regex"] = commit_message_negative_regex + __props__.__dict__["commit_message_regex"] = commit_message_regex + __props__.__dict__["deny_delete_tag"] = deny_delete_tag + __props__.__dict__["file_name_regex"] = file_name_regex + __props__.__dict__["max_file_size"] = max_file_size + __props__.__dict__["member_check"] = member_check + __props__.__dict__["prevent_secrets"] = prevent_secrets + __props__.__dict__["project"] = project + __props__.__dict__["reject_unsigned_commits"] = reject_unsigned_commits + return ProjectPushRules(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="authorEmailRegex") + def author_email_regex(self) -> pulumi.Output[str]: + """ + All commit author emails must match this regex, e.g. `@my-company.com$`. + """ + return pulumi.get(self, "author_email_regex") + + @property + @pulumi.getter(name="branchNameRegex") + def branch_name_regex(self) -> pulumi.Output[str]: + """ + All branch names must match this regex, e.g. `(feature|hotfix)\\/*`. + """ + return pulumi.get(self, "branch_name_regex") + + @property + @pulumi.getter(name="commitCommitterCheck") + def commit_committer_check(self) -> pulumi.Output[bool]: + """ + Users can only push commits to this repository that were committed with one of their own verified emails. + """ + return pulumi.get(self, "commit_committer_check") + + @property + @pulumi.getter(name="commitCommitterNameCheck") + def commit_committer_name_check(self) -> pulumi.Output[bool]: + """ + Users can only push commits to this repository if the commit author name is consistent with their GitLab account name. + """ + return pulumi.get(self, "commit_committer_name_check") + + @property + @pulumi.getter(name="commitMessageNegativeRegex") + def commit_message_negative_regex(self) -> pulumi.Output[str]: + """ + No commit message is allowed to match this regex, e.g. `ssh\\:\\/\\/`. + """ + return pulumi.get(self, "commit_message_negative_regex") + + @property + @pulumi.getter(name="commitMessageRegex") + def commit_message_regex(self) -> pulumi.Output[str]: + """ + All commit messages must match this regex, e.g. `Fixed \\d+\\..*`. + """ + return pulumi.get(self, "commit_message_regex") + + @property + @pulumi.getter(name="denyDeleteTag") + def deny_delete_tag(self) -> pulumi.Output[bool]: + """ + Deny deleting a tag. + """ + return pulumi.get(self, "deny_delete_tag") + + @property + @pulumi.getter(name="fileNameRegex") + def file_name_regex(self) -> pulumi.Output[str]: + """ + All committed filenames must not match this regex, e.g. `(jar|exe)$`. + """ + return pulumi.get(self, "file_name_regex") + + @property + @pulumi.getter(name="maxFileSize") + def max_file_size(self) -> pulumi.Output[int]: + """ + Maximum file size (MB). + """ + return pulumi.get(self, "max_file_size") + + @property + @pulumi.getter(name="memberCheck") + def member_check(self) -> pulumi.Output[bool]: + """ + Restrict commits by author (email) to existing GitLab users. + """ + return pulumi.get(self, "member_check") + + @property + @pulumi.getter(name="preventSecrets") + def prevent_secrets(self) -> pulumi.Output[bool]: + """ + GitLab will reject any files that are likely to contain secrets. + """ + return pulumi.get(self, "prevent_secrets") + + @property + @pulumi.getter + def project(self) -> pulumi.Output[str]: + """ + The ID or URL-encoded path of the project. + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="rejectUnsignedCommits") + def reject_unsigned_commits(self) -> pulumi.Output[bool]: + """ + Reject commit when it’s not signed. + """ + return pulumi.get(self, "reject_unsigned_commits") + diff --git a/sdk/python/pulumi_gitlab/project_share_group.py b/sdk/python/pulumi_gitlab/project_share_group.py index cc0b7b50..acce6e1b 100644 --- a/sdk/python/pulumi_gitlab/project_share_group.py +++ b/sdk/python/pulumi_gitlab/project_share_group.py @@ -22,8 +22,8 @@ def __init__(__self__, *, The set of arguments for constructing a ProjectShareGroup resource. :param pulumi.Input[int] group_id: The id of the group. :param pulumi.Input[str] project: The ID or URL-encoded path of the project. - :param pulumi.Input[str] access_level: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` - :param pulumi.Input[str] group_access: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` + :param pulumi.Input[str] group_access: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ pulumi.set(__self__, "group_id", group_id) pulumi.set(__self__, "project", project) @@ -63,7 +63,7 @@ def project(self, value: pulumi.Input[str]): @pulumi.getter(name="accessLevel") def access_level(self) -> Optional[pulumi.Input[str]]: """ - The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ warnings.warn("""Use `group_access` instead of the `access_level` attribute.""", DeprecationWarning) pulumi.log.warn("""access_level is deprecated: Use `group_access` instead of the `access_level` attribute.""") @@ -78,7 +78,7 @@ def access_level(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="groupAccess") def group_access(self) -> Optional[pulumi.Input[str]]: """ - The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "group_access") @@ -96,8 +96,8 @@ def __init__(__self__, *, project: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering ProjectShareGroup resources. - :param pulumi.Input[str] access_level: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` - :param pulumi.Input[str] group_access: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` + :param pulumi.Input[str] group_access: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[int] group_id: The id of the group. :param pulumi.Input[str] project: The ID or URL-encoded path of the project. """ @@ -117,7 +117,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessLevel") def access_level(self) -> Optional[pulumi.Input[str]]: """ - The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ warnings.warn("""Use `group_access` instead of the `access_level` attribute.""", DeprecationWarning) pulumi.log.warn("""access_level is deprecated: Use `group_access` instead of the `access_level` attribute.""") @@ -132,7 +132,7 @@ def access_level(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="groupAccess") def group_access(self) -> Optional[pulumi.Input[str]]: """ - The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "group_access") @@ -202,8 +202,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` - :param pulumi.Input[str] group_access: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` + :param pulumi.Input[str] group_access: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[int] group_id: The id of the group. :param pulumi.Input[str] project: The ID or URL-encoded path of the project. """ @@ -295,8 +295,8 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_level: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` - :param pulumi.Input[str] group_access: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + :param pulumi.Input[str] access_level: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` + :param pulumi.Input[str] group_access: The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` :param pulumi.Input[int] group_id: The id of the group. :param pulumi.Input[str] project: The ID or URL-encoded path of the project. """ @@ -314,7 +314,7 @@ def get(resource_name: str, @pulumi.getter(name="accessLevel") def access_level(self) -> pulumi.Output[Optional[str]]: """ - The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ warnings.warn("""Use `group_access` instead of the `access_level` attribute.""", DeprecationWarning) pulumi.log.warn("""access_level is deprecated: Use `group_access` instead of the `access_level` attribute.""") @@ -325,7 +325,7 @@ def access_level(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="groupAccess") def group_access(self) -> pulumi.Output[Optional[str]]: """ - The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner`, `master` + The access level to grant the group for the project. Valid values are: `no one`, `minimal`, `guest`, `reporter`, `developer`, `maintainer`, `owner` """ return pulumi.get(self, "group_access") diff --git a/sdk/python/pulumi_gitlab/pulumi-plugin.json b/sdk/python/pulumi_gitlab/pulumi-plugin.json index 44dbfcf0..52c4492e 100644 --- a/sdk/python/pulumi_gitlab/pulumi-plugin.json +++ b/sdk/python/pulumi_gitlab/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "gitlab", - "version": "7.0.0-alpha.0+dev" + "version": "8.0.0" } diff --git a/sdk/python/pulumi_gitlab/user_runner.py b/sdk/python/pulumi_gitlab/user_runner.py index 74601fd3..100080cf 100644 --- a/sdk/python/pulumi_gitlab/user_runner.py +++ b/sdk/python/pulumi_gitlab/user_runner.py @@ -383,6 +383,67 @@ def __init__(__self__, **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html#create-a-runner) + ## Example Usage + + ```python + import pulumi + import pulumi_gitlab as gitlab + + # Create a project runner + project_runner = gitlab.UserRunner("project_runner", + runner_type="project_type", + project_id=123456, + description="A runner created using a user access token instead of a registration token", + tag_lists=[ + "a-tag", + "other-tag", + ], + untagged=True) + # Create a group runner + group_runner = gitlab.UserRunner("group_runner", + runner_type="group_type", + group_id=123456) + # Create a instance runner + instance_runner = gitlab.UserRunner("instance_runner", runner_type="instance_type") + config_toml = group_runner.token.apply(lambda token: f\"\"\"concurrent = 1 + check_interval = 0 + + [session_server] + session_timeout = 1800 + + [[runners]] + name = "my_gitlab_runner" + url = "https://example.gitlab.com" + token = "{token}" + executor = "docker" + + [runners.custom_build_dir] + [runners.cache] + [runners.cache.s3] + [runners.cache.gcs] + [runners.cache.azure] + [runners.docker] + tls_verify = false + image = "ubuntu" + privileged = true + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = false + volumes = ["/cache", "/certs/client"] + shm_size = 0 + \"\"\") + ``` + + ## Import + + You can import a gitlab runner using its ID + + Note: Importing a runner will not provide access to the `token` attribute + + ```sh + $ pulumi import gitlab:index/userRunner:UserRunner example 12345 + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] access_level: The access level of the runner. Valid values are: `not_protected`, `ref_protected`. @@ -407,6 +468,67 @@ def __init__(__self__, **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/ee/api/users.html#create-a-runner) + ## Example Usage + + ```python + import pulumi + import pulumi_gitlab as gitlab + + # Create a project runner + project_runner = gitlab.UserRunner("project_runner", + runner_type="project_type", + project_id=123456, + description="A runner created using a user access token instead of a registration token", + tag_lists=[ + "a-tag", + "other-tag", + ], + untagged=True) + # Create a group runner + group_runner = gitlab.UserRunner("group_runner", + runner_type="group_type", + group_id=123456) + # Create a instance runner + instance_runner = gitlab.UserRunner("instance_runner", runner_type="instance_type") + config_toml = group_runner.token.apply(lambda token: f\"\"\"concurrent = 1 + check_interval = 0 + + [session_server] + session_timeout = 1800 + + [[runners]] + name = "my_gitlab_runner" + url = "https://example.gitlab.com" + token = "{token}" + executor = "docker" + + [runners.custom_build_dir] + [runners.cache] + [runners.cache.s3] + [runners.cache.gcs] + [runners.cache.azure] + [runners.docker] + tls_verify = false + image = "ubuntu" + privileged = true + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = false + volumes = ["/cache", "/certs/client"] + shm_size = 0 + \"\"\") + ``` + + ## Import + + You can import a gitlab runner using its ID + + Note: Importing a runner will not provide access to the `token` attribute + + ```sh + $ pulumi import gitlab:index/userRunner:UserRunner example 12345 + ``` + :param str resource_name: The name of the resource. :param UserRunnerArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml index 394a7539..6d5c0c55 100644 --- a/sdk/python/pyproject.toml +++ b/sdk/python/pyproject.toml @@ -5,7 +5,7 @@ keywords = ["pulumi", "gitlab"] readme = "README.md" requires-python = ">=3.8" - version = "7.0.0a0+dev" + version = "8.0.0" [project.license] text = "Apache-2.0" [project.urls] diff --git a/upstream b/upstream index fed28de4..16c478de 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit fed28de4d9bda0b8513c845eb6afe0a84cb0ae2f +Subproject commit 16c478dedc6b913427542eb2ed131b7e59e36b8e