pulumi-pulumiservice 0.28.0a1736807230__tar.gz → 0.29.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/PKG-INFO +1 -1
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/__init__.py +2 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/_enums.py +44 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/_inputs.py +151 -0
- pulumi_pulumiservice-0.29.0/pulumi_pulumiservice/oidc_issuer.py +277 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/outputs.py +114 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/pulumi-plugin.json +1 -1
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice.egg-info/PKG-INFO +1 -1
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice.egg-info/SOURCES.txt +1 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pyproject.toml +1 -1
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/README.md +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/_utilities.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/access_token.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/agent_pool.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/config/__init__.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/config/__init__.pyi +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/config/vars.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/deployment_schedule.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/deployment_settings.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/drift_schedule.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/environment.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/environment_version_tag.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/org_access_token.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/provider.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/py.typed +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/stack.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/stack_tag.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/team.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/team_access_token.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/team_environment_permission.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/team_stack_permission.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/template_source.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/ttl_schedule.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/webhook.py +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice.egg-info/dependency_links.txt +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice.egg-info/requires.txt +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice.egg-info/top_level.txt +0 -0
- {pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/setup.cfg +0 -0
|
@@ -13,6 +13,7 @@ from .deployment_settings import *
|
|
|
13
13
|
from .drift_schedule import *
|
|
14
14
|
from .environment import *
|
|
15
15
|
from .environment_version_tag import *
|
|
16
|
+
from .oidc_issuer import *
|
|
16
17
|
from .org_access_token import *
|
|
17
18
|
from .provider import *
|
|
18
19
|
from .stack import *
|
|
@@ -49,6 +50,7 @@ _utilities.register(
|
|
|
49
50
|
"pulumiservice:index:DriftSchedule": "DriftSchedule",
|
|
50
51
|
"pulumiservice:index:Environment": "Environment",
|
|
51
52
|
"pulumiservice:index:EnvironmentVersionTag": "EnvironmentVersionTag",
|
|
53
|
+
"pulumiservice:index:OidcIssuer": "OidcIssuer",
|
|
52
54
|
"pulumiservice:index:OrgAccessToken": "OrgAccessToken",
|
|
53
55
|
"pulumiservice:index:Stack": "Stack",
|
|
54
56
|
"pulumiservice:index:StackTag": "StackTag",
|
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
from enum import Enum
|
|
6
6
|
|
|
7
7
|
__all__ = [
|
|
8
|
+
'AuthPolicyDecision',
|
|
9
|
+
'AuthPolicyPermissionLevel',
|
|
10
|
+
'AuthPolicyTokenType',
|
|
8
11
|
'EnvironmentPermission',
|
|
9
12
|
'PulumiOperation',
|
|
10
13
|
'TeamStackPermissionScope',
|
|
@@ -14,6 +17,47 @@ __all__ = [
|
|
|
14
17
|
]
|
|
15
18
|
|
|
16
19
|
|
|
20
|
+
class AuthPolicyDecision(str, Enum):
|
|
21
|
+
DENY = "deny"
|
|
22
|
+
"""
|
|
23
|
+
A deny rule for Oidc Issuer Policy.
|
|
24
|
+
"""
|
|
25
|
+
ALLOW = "allow"
|
|
26
|
+
"""
|
|
27
|
+
An allow rule for Oidc Issuer Policy.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class AuthPolicyPermissionLevel(str, Enum):
|
|
32
|
+
STANDARD = "standard"
|
|
33
|
+
"""
|
|
34
|
+
Standard level of permissions.
|
|
35
|
+
"""
|
|
36
|
+
ADMIN = "admin"
|
|
37
|
+
"""
|
|
38
|
+
Admin level of permissions.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class AuthPolicyTokenType(str, Enum):
|
|
43
|
+
PERSONAL = "personal"
|
|
44
|
+
"""
|
|
45
|
+
Personal Pulumi token. Requires userLogin field to be filled.
|
|
46
|
+
"""
|
|
47
|
+
TEAM = "team"
|
|
48
|
+
"""
|
|
49
|
+
Team Pulumi token. Requires teamName field to be filled.
|
|
50
|
+
"""
|
|
51
|
+
ORGANIZATION = "organization"
|
|
52
|
+
"""
|
|
53
|
+
Organization Pulumi token. Requires authorizedPermissions field to be filled.
|
|
54
|
+
"""
|
|
55
|
+
RUNNER = "runner"
|
|
56
|
+
"""
|
|
57
|
+
Deployment Runner Pulumi token. Requires runnerID field to be filled.
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
|
|
17
61
|
class EnvironmentPermission(str, Enum):
|
|
18
62
|
NONE = "none"
|
|
19
63
|
"""
|
|
@@ -18,6 +18,8 @@ from ._enums import *
|
|
|
18
18
|
__all__ = [
|
|
19
19
|
'AWSOIDCConfigurationArgs',
|
|
20
20
|
'AWSOIDCConfigurationArgsDict',
|
|
21
|
+
'AuthPolicyDefinitionArgs',
|
|
22
|
+
'AuthPolicyDefinitionArgsDict',
|
|
21
23
|
'AzureOIDCConfigurationArgs',
|
|
22
24
|
'AzureOIDCConfigurationArgsDict',
|
|
23
25
|
'DeploymentSettingsCacheOptionsArgs',
|
|
@@ -140,6 +142,155 @@ class AWSOIDCConfigurationArgs:
|
|
|
140
142
|
pulumi.set(self, "policy_arns", value)
|
|
141
143
|
|
|
142
144
|
|
|
145
|
+
if not MYPY:
|
|
146
|
+
class AuthPolicyDefinitionArgsDict(TypedDict):
|
|
147
|
+
decision: pulumi.Input['AuthPolicyDecision']
|
|
148
|
+
"""
|
|
149
|
+
The rule type of this policy definition
|
|
150
|
+
"""
|
|
151
|
+
rules: pulumi.Input[Mapping[str, pulumi.Input[str]]]
|
|
152
|
+
"""
|
|
153
|
+
OIDC rules to set for this policy.
|
|
154
|
+
"""
|
|
155
|
+
token_type: pulumi.Input['AuthPolicyTokenType']
|
|
156
|
+
"""
|
|
157
|
+
The token type for this policy definition
|
|
158
|
+
"""
|
|
159
|
+
authorized_permissions: NotRequired[pulumi.Input[Sequence[pulumi.Input['AuthPolicyPermissionLevel']]]]
|
|
160
|
+
"""
|
|
161
|
+
The permission level for organization tokens.
|
|
162
|
+
"""
|
|
163
|
+
runner_id: NotRequired[pulumi.Input[str]]
|
|
164
|
+
"""
|
|
165
|
+
The runner ID for deployment runner tokens.
|
|
166
|
+
"""
|
|
167
|
+
team_name: NotRequired[pulumi.Input[str]]
|
|
168
|
+
"""
|
|
169
|
+
The team name for team tokens.
|
|
170
|
+
"""
|
|
171
|
+
user_login: NotRequired[pulumi.Input[str]]
|
|
172
|
+
"""
|
|
173
|
+
The user login for personal tokens.
|
|
174
|
+
"""
|
|
175
|
+
elif False:
|
|
176
|
+
AuthPolicyDefinitionArgsDict: TypeAlias = Mapping[str, Any]
|
|
177
|
+
|
|
178
|
+
@pulumi.input_type
|
|
179
|
+
class AuthPolicyDefinitionArgs:
|
|
180
|
+
def __init__(__self__, *,
|
|
181
|
+
decision: pulumi.Input['AuthPolicyDecision'],
|
|
182
|
+
rules: pulumi.Input[Mapping[str, pulumi.Input[str]]],
|
|
183
|
+
token_type: pulumi.Input['AuthPolicyTokenType'],
|
|
184
|
+
authorized_permissions: Optional[pulumi.Input[Sequence[pulumi.Input['AuthPolicyPermissionLevel']]]] = None,
|
|
185
|
+
runner_id: Optional[pulumi.Input[str]] = None,
|
|
186
|
+
team_name: Optional[pulumi.Input[str]] = None,
|
|
187
|
+
user_login: Optional[pulumi.Input[str]] = None):
|
|
188
|
+
"""
|
|
189
|
+
:param pulumi.Input['AuthPolicyDecision'] decision: The rule type of this policy definition
|
|
190
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] rules: OIDC rules to set for this policy.
|
|
191
|
+
:param pulumi.Input['AuthPolicyTokenType'] token_type: The token type for this policy definition
|
|
192
|
+
:param pulumi.Input[Sequence[pulumi.Input['AuthPolicyPermissionLevel']]] authorized_permissions: The permission level for organization tokens.
|
|
193
|
+
:param pulumi.Input[str] runner_id: The runner ID for deployment runner tokens.
|
|
194
|
+
:param pulumi.Input[str] team_name: The team name for team tokens.
|
|
195
|
+
:param pulumi.Input[str] user_login: The user login for personal tokens.
|
|
196
|
+
"""
|
|
197
|
+
pulumi.set(__self__, "decision", decision)
|
|
198
|
+
pulumi.set(__self__, "rules", rules)
|
|
199
|
+
pulumi.set(__self__, "token_type", token_type)
|
|
200
|
+
if authorized_permissions is not None:
|
|
201
|
+
pulumi.set(__self__, "authorized_permissions", authorized_permissions)
|
|
202
|
+
if runner_id is not None:
|
|
203
|
+
pulumi.set(__self__, "runner_id", runner_id)
|
|
204
|
+
if team_name is not None:
|
|
205
|
+
pulumi.set(__self__, "team_name", team_name)
|
|
206
|
+
if user_login is not None:
|
|
207
|
+
pulumi.set(__self__, "user_login", user_login)
|
|
208
|
+
|
|
209
|
+
@property
|
|
210
|
+
@pulumi.getter
|
|
211
|
+
def decision(self) -> pulumi.Input['AuthPolicyDecision']:
|
|
212
|
+
"""
|
|
213
|
+
The rule type of this policy definition
|
|
214
|
+
"""
|
|
215
|
+
return pulumi.get(self, "decision")
|
|
216
|
+
|
|
217
|
+
@decision.setter
|
|
218
|
+
def decision(self, value: pulumi.Input['AuthPolicyDecision']):
|
|
219
|
+
pulumi.set(self, "decision", value)
|
|
220
|
+
|
|
221
|
+
@property
|
|
222
|
+
@pulumi.getter
|
|
223
|
+
def rules(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]:
|
|
224
|
+
"""
|
|
225
|
+
OIDC rules to set for this policy.
|
|
226
|
+
"""
|
|
227
|
+
return pulumi.get(self, "rules")
|
|
228
|
+
|
|
229
|
+
@rules.setter
|
|
230
|
+
def rules(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]):
|
|
231
|
+
pulumi.set(self, "rules", value)
|
|
232
|
+
|
|
233
|
+
@property
|
|
234
|
+
@pulumi.getter(name="tokenType")
|
|
235
|
+
def token_type(self) -> pulumi.Input['AuthPolicyTokenType']:
|
|
236
|
+
"""
|
|
237
|
+
The token type for this policy definition
|
|
238
|
+
"""
|
|
239
|
+
return pulumi.get(self, "token_type")
|
|
240
|
+
|
|
241
|
+
@token_type.setter
|
|
242
|
+
def token_type(self, value: pulumi.Input['AuthPolicyTokenType']):
|
|
243
|
+
pulumi.set(self, "token_type", value)
|
|
244
|
+
|
|
245
|
+
@property
|
|
246
|
+
@pulumi.getter(name="authorizedPermissions")
|
|
247
|
+
def authorized_permissions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AuthPolicyPermissionLevel']]]]:
|
|
248
|
+
"""
|
|
249
|
+
The permission level for organization tokens.
|
|
250
|
+
"""
|
|
251
|
+
return pulumi.get(self, "authorized_permissions")
|
|
252
|
+
|
|
253
|
+
@authorized_permissions.setter
|
|
254
|
+
def authorized_permissions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AuthPolicyPermissionLevel']]]]):
|
|
255
|
+
pulumi.set(self, "authorized_permissions", value)
|
|
256
|
+
|
|
257
|
+
@property
|
|
258
|
+
@pulumi.getter(name="runnerID")
|
|
259
|
+
def runner_id(self) -> Optional[pulumi.Input[str]]:
|
|
260
|
+
"""
|
|
261
|
+
The runner ID for deployment runner tokens.
|
|
262
|
+
"""
|
|
263
|
+
return pulumi.get(self, "runner_id")
|
|
264
|
+
|
|
265
|
+
@runner_id.setter
|
|
266
|
+
def runner_id(self, value: Optional[pulumi.Input[str]]):
|
|
267
|
+
pulumi.set(self, "runner_id", value)
|
|
268
|
+
|
|
269
|
+
@property
|
|
270
|
+
@pulumi.getter(name="teamName")
|
|
271
|
+
def team_name(self) -> Optional[pulumi.Input[str]]:
|
|
272
|
+
"""
|
|
273
|
+
The team name for team tokens.
|
|
274
|
+
"""
|
|
275
|
+
return pulumi.get(self, "team_name")
|
|
276
|
+
|
|
277
|
+
@team_name.setter
|
|
278
|
+
def team_name(self, value: Optional[pulumi.Input[str]]):
|
|
279
|
+
pulumi.set(self, "team_name", value)
|
|
280
|
+
|
|
281
|
+
@property
|
|
282
|
+
@pulumi.getter(name="userLogin")
|
|
283
|
+
def user_login(self) -> Optional[pulumi.Input[str]]:
|
|
284
|
+
"""
|
|
285
|
+
The user login for personal tokens.
|
|
286
|
+
"""
|
|
287
|
+
return pulumi.get(self, "user_login")
|
|
288
|
+
|
|
289
|
+
@user_login.setter
|
|
290
|
+
def user_login(self, value: Optional[pulumi.Input[str]]):
|
|
291
|
+
pulumi.set(self, "user_login", value)
|
|
292
|
+
|
|
293
|
+
|
|
143
294
|
if not MYPY:
|
|
144
295
|
class AzureOIDCConfigurationArgsDict(TypedDict):
|
|
145
296
|
client_id: pulumi.Input[str]
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import copy
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from . import _utilities
|
|
16
|
+
from . import outputs
|
|
17
|
+
from ._enums import *
|
|
18
|
+
from ._inputs import *
|
|
19
|
+
|
|
20
|
+
__all__ = ['OidcIssuerArgs', 'OidcIssuer']
|
|
21
|
+
|
|
22
|
+
@pulumi.input_type
|
|
23
|
+
class OidcIssuerArgs:
|
|
24
|
+
def __init__(__self__, *,
|
|
25
|
+
name: pulumi.Input[str],
|
|
26
|
+
organization: pulumi.Input[str],
|
|
27
|
+
url: pulumi.Input[str],
|
|
28
|
+
max_expiration_seconds: Optional[pulumi.Input[int]] = None,
|
|
29
|
+
policies: Optional[pulumi.Input[Sequence[pulumi.Input['AuthPolicyDefinitionArgs']]]] = None,
|
|
30
|
+
thumbprints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
|
31
|
+
"""
|
|
32
|
+
The set of arguments for constructing a OidcIssuer resource.
|
|
33
|
+
:param pulumi.Input[str] name: Issuer name.
|
|
34
|
+
:param pulumi.Input[str] organization: Organization name.
|
|
35
|
+
:param pulumi.Input[str] url: The OIDC issuer URL.
|
|
36
|
+
:param pulumi.Input[int] max_expiration_seconds: The maximum duration of the Pulumi access token working after an exchange, specified in seconds.
|
|
37
|
+
:param pulumi.Input[Sequence[pulumi.Input['AuthPolicyDefinitionArgs']]] policies: The auth policies for this Oidc Issuer.
|
|
38
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] thumbprints: The thumbprints of issuer's TLS certificates. By default, Pulumi will store the thumbprint of the certificate used to serve the OpenID configuration. If the provider uses multiple certificates to serve content, it is required to manually configure these.
|
|
39
|
+
"""
|
|
40
|
+
pulumi.set(__self__, "name", name)
|
|
41
|
+
pulumi.set(__self__, "organization", organization)
|
|
42
|
+
pulumi.set(__self__, "url", url)
|
|
43
|
+
if max_expiration_seconds is not None:
|
|
44
|
+
pulumi.set(__self__, "max_expiration_seconds", max_expiration_seconds)
|
|
45
|
+
if policies is not None:
|
|
46
|
+
pulumi.set(__self__, "policies", policies)
|
|
47
|
+
if thumbprints is not None:
|
|
48
|
+
pulumi.set(__self__, "thumbprints", thumbprints)
|
|
49
|
+
|
|
50
|
+
@property
|
|
51
|
+
@pulumi.getter
|
|
52
|
+
def name(self) -> pulumi.Input[str]:
|
|
53
|
+
"""
|
|
54
|
+
Issuer name.
|
|
55
|
+
"""
|
|
56
|
+
return pulumi.get(self, "name")
|
|
57
|
+
|
|
58
|
+
@name.setter
|
|
59
|
+
def name(self, value: pulumi.Input[str]):
|
|
60
|
+
pulumi.set(self, "name", value)
|
|
61
|
+
|
|
62
|
+
@property
|
|
63
|
+
@pulumi.getter
|
|
64
|
+
def organization(self) -> pulumi.Input[str]:
|
|
65
|
+
"""
|
|
66
|
+
Organization name.
|
|
67
|
+
"""
|
|
68
|
+
return pulumi.get(self, "organization")
|
|
69
|
+
|
|
70
|
+
@organization.setter
|
|
71
|
+
def organization(self, value: pulumi.Input[str]):
|
|
72
|
+
pulumi.set(self, "organization", value)
|
|
73
|
+
|
|
74
|
+
@property
|
|
75
|
+
@pulumi.getter
|
|
76
|
+
def url(self) -> pulumi.Input[str]:
|
|
77
|
+
"""
|
|
78
|
+
The OIDC issuer URL.
|
|
79
|
+
"""
|
|
80
|
+
return pulumi.get(self, "url")
|
|
81
|
+
|
|
82
|
+
@url.setter
|
|
83
|
+
def url(self, value: pulumi.Input[str]):
|
|
84
|
+
pulumi.set(self, "url", value)
|
|
85
|
+
|
|
86
|
+
@property
|
|
87
|
+
@pulumi.getter(name="maxExpirationSeconds")
|
|
88
|
+
def max_expiration_seconds(self) -> Optional[pulumi.Input[int]]:
|
|
89
|
+
"""
|
|
90
|
+
The maximum duration of the Pulumi access token working after an exchange, specified in seconds.
|
|
91
|
+
"""
|
|
92
|
+
return pulumi.get(self, "max_expiration_seconds")
|
|
93
|
+
|
|
94
|
+
@max_expiration_seconds.setter
|
|
95
|
+
def max_expiration_seconds(self, value: Optional[pulumi.Input[int]]):
|
|
96
|
+
pulumi.set(self, "max_expiration_seconds", value)
|
|
97
|
+
|
|
98
|
+
@property
|
|
99
|
+
@pulumi.getter
|
|
100
|
+
def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AuthPolicyDefinitionArgs']]]]:
|
|
101
|
+
"""
|
|
102
|
+
The auth policies for this Oidc Issuer.
|
|
103
|
+
"""
|
|
104
|
+
return pulumi.get(self, "policies")
|
|
105
|
+
|
|
106
|
+
@policies.setter
|
|
107
|
+
def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AuthPolicyDefinitionArgs']]]]):
|
|
108
|
+
pulumi.set(self, "policies", value)
|
|
109
|
+
|
|
110
|
+
@property
|
|
111
|
+
@pulumi.getter
|
|
112
|
+
def thumbprints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
113
|
+
"""
|
|
114
|
+
The thumbprints of issuer's TLS certificates. By default, Pulumi will store the thumbprint of the certificate used to serve the OpenID configuration. If the provider uses multiple certificates to serve content, it is required to manually configure these.
|
|
115
|
+
"""
|
|
116
|
+
return pulumi.get(self, "thumbprints")
|
|
117
|
+
|
|
118
|
+
@thumbprints.setter
|
|
119
|
+
def thumbprints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
120
|
+
pulumi.set(self, "thumbprints", value)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class OidcIssuer(pulumi.CustomResource):
|
|
124
|
+
@overload
|
|
125
|
+
def __init__(__self__,
|
|
126
|
+
resource_name: str,
|
|
127
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
128
|
+
max_expiration_seconds: Optional[pulumi.Input[int]] = None,
|
|
129
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
130
|
+
organization: Optional[pulumi.Input[str]] = None,
|
|
131
|
+
policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AuthPolicyDefinitionArgs', 'AuthPolicyDefinitionArgsDict']]]]] = None,
|
|
132
|
+
thumbprints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
133
|
+
url: Optional[pulumi.Input[str]] = None,
|
|
134
|
+
__props__=None):
|
|
135
|
+
"""
|
|
136
|
+
An OIDC issuer registration with Pulumi.
|
|
137
|
+
|
|
138
|
+
:param str resource_name: The name of the resource.
|
|
139
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
140
|
+
:param pulumi.Input[int] max_expiration_seconds: The maximum duration of the Pulumi access token working after an exchange, specified in seconds.
|
|
141
|
+
:param pulumi.Input[str] name: Issuer name.
|
|
142
|
+
:param pulumi.Input[str] organization: Organization name.
|
|
143
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['AuthPolicyDefinitionArgs', 'AuthPolicyDefinitionArgsDict']]]] policies: The auth policies for this Oidc Issuer.
|
|
144
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] thumbprints: The thumbprints of issuer's TLS certificates. By default, Pulumi will store the thumbprint of the certificate used to serve the OpenID configuration. If the provider uses multiple certificates to serve content, it is required to manually configure these.
|
|
145
|
+
:param pulumi.Input[str] url: The OIDC issuer URL.
|
|
146
|
+
"""
|
|
147
|
+
...
|
|
148
|
+
@overload
|
|
149
|
+
def __init__(__self__,
|
|
150
|
+
resource_name: str,
|
|
151
|
+
args: OidcIssuerArgs,
|
|
152
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
153
|
+
"""
|
|
154
|
+
An OIDC issuer registration with Pulumi.
|
|
155
|
+
|
|
156
|
+
:param str resource_name: The name of the resource.
|
|
157
|
+
:param OidcIssuerArgs args: The arguments to use to populate this resource's properties.
|
|
158
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
159
|
+
"""
|
|
160
|
+
...
|
|
161
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
162
|
+
resource_args, opts = _utilities.get_resource_args_opts(OidcIssuerArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
163
|
+
if resource_args is not None:
|
|
164
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
165
|
+
else:
|
|
166
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
167
|
+
|
|
168
|
+
def _internal_init(__self__,
|
|
169
|
+
resource_name: str,
|
|
170
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
171
|
+
max_expiration_seconds: Optional[pulumi.Input[int]] = None,
|
|
172
|
+
name: Optional[pulumi.Input[str]] = None,
|
|
173
|
+
organization: Optional[pulumi.Input[str]] = None,
|
|
174
|
+
policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AuthPolicyDefinitionArgs', 'AuthPolicyDefinitionArgsDict']]]]] = None,
|
|
175
|
+
thumbprints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
176
|
+
url: Optional[pulumi.Input[str]] = None,
|
|
177
|
+
__props__=None):
|
|
178
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
179
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
180
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
181
|
+
if opts.id is None:
|
|
182
|
+
if __props__ is not None:
|
|
183
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
184
|
+
__props__ = OidcIssuerArgs.__new__(OidcIssuerArgs)
|
|
185
|
+
|
|
186
|
+
__props__.__dict__["max_expiration_seconds"] = max_expiration_seconds
|
|
187
|
+
if name is None and not opts.urn:
|
|
188
|
+
raise TypeError("Missing required property 'name'")
|
|
189
|
+
__props__.__dict__["name"] = name
|
|
190
|
+
if organization is None and not opts.urn:
|
|
191
|
+
raise TypeError("Missing required property 'organization'")
|
|
192
|
+
__props__.__dict__["organization"] = organization
|
|
193
|
+
__props__.__dict__["policies"] = policies
|
|
194
|
+
__props__.__dict__["thumbprints"] = thumbprints
|
|
195
|
+
if url is None and not opts.urn:
|
|
196
|
+
raise TypeError("Missing required property 'url'")
|
|
197
|
+
__props__.__dict__["url"] = url
|
|
198
|
+
replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["organization", "url"])
|
|
199
|
+
opts = pulumi.ResourceOptions.merge(opts, replace_on_changes)
|
|
200
|
+
super(OidcIssuer, __self__).__init__(
|
|
201
|
+
'pulumiservice:index:OidcIssuer',
|
|
202
|
+
resource_name,
|
|
203
|
+
__props__,
|
|
204
|
+
opts)
|
|
205
|
+
|
|
206
|
+
@staticmethod
|
|
207
|
+
def get(resource_name: str,
|
|
208
|
+
id: pulumi.Input[str],
|
|
209
|
+
opts: Optional[pulumi.ResourceOptions] = None) -> 'OidcIssuer':
|
|
210
|
+
"""
|
|
211
|
+
Get an existing OidcIssuer resource's state with the given name, id, and optional extra
|
|
212
|
+
properties used to qualify the lookup.
|
|
213
|
+
|
|
214
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
215
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
216
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
217
|
+
"""
|
|
218
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
219
|
+
|
|
220
|
+
__props__ = OidcIssuerArgs.__new__(OidcIssuerArgs)
|
|
221
|
+
|
|
222
|
+
__props__.__dict__["max_expiration_seconds"] = None
|
|
223
|
+
__props__.__dict__["name"] = None
|
|
224
|
+
__props__.__dict__["organization"] = None
|
|
225
|
+
__props__.__dict__["policies"] = None
|
|
226
|
+
__props__.__dict__["thumbprints"] = None
|
|
227
|
+
__props__.__dict__["url"] = None
|
|
228
|
+
return OidcIssuer(resource_name, opts=opts, __props__=__props__)
|
|
229
|
+
|
|
230
|
+
@property
|
|
231
|
+
@pulumi.getter(name="maxExpirationSeconds")
|
|
232
|
+
def max_expiration_seconds(self) -> pulumi.Output[Optional[int]]:
|
|
233
|
+
"""
|
|
234
|
+
The maximum duration of the Pulumi access token working after an exchange, specified in seconds.
|
|
235
|
+
"""
|
|
236
|
+
return pulumi.get(self, "max_expiration_seconds")
|
|
237
|
+
|
|
238
|
+
@property
|
|
239
|
+
@pulumi.getter
|
|
240
|
+
def name(self) -> pulumi.Output[str]:
|
|
241
|
+
"""
|
|
242
|
+
Issuer name.
|
|
243
|
+
"""
|
|
244
|
+
return pulumi.get(self, "name")
|
|
245
|
+
|
|
246
|
+
@property
|
|
247
|
+
@pulumi.getter
|
|
248
|
+
def organization(self) -> pulumi.Output[str]:
|
|
249
|
+
"""
|
|
250
|
+
Organization name.
|
|
251
|
+
"""
|
|
252
|
+
return pulumi.get(self, "organization")
|
|
253
|
+
|
|
254
|
+
@property
|
|
255
|
+
@pulumi.getter
|
|
256
|
+
def policies(self) -> pulumi.Output[Sequence['outputs.AuthPolicyDefinition']]:
|
|
257
|
+
"""
|
|
258
|
+
The authorization policies for this Oidc Issuer.
|
|
259
|
+
"""
|
|
260
|
+
return pulumi.get(self, "policies")
|
|
261
|
+
|
|
262
|
+
@property
|
|
263
|
+
@pulumi.getter
|
|
264
|
+
def thumbprints(self) -> pulumi.Output[Sequence[str]]:
|
|
265
|
+
"""
|
|
266
|
+
The thumbprints of issuer's TLS certificates. By default, Pulumi will store the thumbprint of the certificate used to serve the OpenID configuration. If the provider uses multiple certificates to serve content, it is required to manually configure these.
|
|
267
|
+
"""
|
|
268
|
+
return pulumi.get(self, "thumbprints")
|
|
269
|
+
|
|
270
|
+
@property
|
|
271
|
+
@pulumi.getter
|
|
272
|
+
def url(self) -> pulumi.Output[str]:
|
|
273
|
+
"""
|
|
274
|
+
The OIDC issuer URL.
|
|
275
|
+
"""
|
|
276
|
+
return pulumi.get(self, "url")
|
|
277
|
+
|
|
@@ -18,6 +18,7 @@ from ._enums import *
|
|
|
18
18
|
|
|
19
19
|
__all__ = [
|
|
20
20
|
'AWSOIDCConfiguration',
|
|
21
|
+
'AuthPolicyDefinition',
|
|
21
22
|
'AzureOIDCConfiguration',
|
|
22
23
|
'DeploymentSettingsCacheOptions',
|
|
23
24
|
'DeploymentSettingsExecutorContext',
|
|
@@ -108,6 +109,119 @@ class AWSOIDCConfiguration(dict):
|
|
|
108
109
|
return pulumi.get(self, "policy_arns")
|
|
109
110
|
|
|
110
111
|
|
|
112
|
+
@pulumi.output_type
|
|
113
|
+
class AuthPolicyDefinition(dict):
|
|
114
|
+
@staticmethod
|
|
115
|
+
def __key_warning(key: str):
|
|
116
|
+
suggest = None
|
|
117
|
+
if key == "tokenType":
|
|
118
|
+
suggest = "token_type"
|
|
119
|
+
elif key == "authorizedPermissions":
|
|
120
|
+
suggest = "authorized_permissions"
|
|
121
|
+
elif key == "runnerID":
|
|
122
|
+
suggest = "runner_id"
|
|
123
|
+
elif key == "teamName":
|
|
124
|
+
suggest = "team_name"
|
|
125
|
+
elif key == "userLogin":
|
|
126
|
+
suggest = "user_login"
|
|
127
|
+
|
|
128
|
+
if suggest:
|
|
129
|
+
pulumi.log.warn(f"Key '{key}' not found in AuthPolicyDefinition. Access the value via the '{suggest}' property getter instead.")
|
|
130
|
+
|
|
131
|
+
def __getitem__(self, key: str) -> Any:
|
|
132
|
+
AuthPolicyDefinition.__key_warning(key)
|
|
133
|
+
return super().__getitem__(key)
|
|
134
|
+
|
|
135
|
+
def get(self, key: str, default = None) -> Any:
|
|
136
|
+
AuthPolicyDefinition.__key_warning(key)
|
|
137
|
+
return super().get(key, default)
|
|
138
|
+
|
|
139
|
+
def __init__(__self__, *,
|
|
140
|
+
decision: 'AuthPolicyDecision',
|
|
141
|
+
rules: Mapping[str, str],
|
|
142
|
+
token_type: 'AuthPolicyTokenType',
|
|
143
|
+
authorized_permissions: Optional[Sequence['AuthPolicyPermissionLevel']] = None,
|
|
144
|
+
runner_id: Optional[str] = None,
|
|
145
|
+
team_name: Optional[str] = None,
|
|
146
|
+
user_login: Optional[str] = None):
|
|
147
|
+
"""
|
|
148
|
+
:param 'AuthPolicyDecision' decision: The rule type of this policy definition
|
|
149
|
+
:param Mapping[str, str] rules: OIDC rules to set for this policy.
|
|
150
|
+
:param 'AuthPolicyTokenType' token_type: The token type for this policy definition
|
|
151
|
+
:param Sequence['AuthPolicyPermissionLevel'] authorized_permissions: The permission level for organization tokens.
|
|
152
|
+
:param str runner_id: The runner ID for deployment runner tokens.
|
|
153
|
+
:param str team_name: The team name for team tokens.
|
|
154
|
+
:param str user_login: The user login for personal tokens.
|
|
155
|
+
"""
|
|
156
|
+
pulumi.set(__self__, "decision", decision)
|
|
157
|
+
pulumi.set(__self__, "rules", rules)
|
|
158
|
+
pulumi.set(__self__, "token_type", token_type)
|
|
159
|
+
if authorized_permissions is not None:
|
|
160
|
+
pulumi.set(__self__, "authorized_permissions", authorized_permissions)
|
|
161
|
+
if runner_id is not None:
|
|
162
|
+
pulumi.set(__self__, "runner_id", runner_id)
|
|
163
|
+
if team_name is not None:
|
|
164
|
+
pulumi.set(__self__, "team_name", team_name)
|
|
165
|
+
if user_login is not None:
|
|
166
|
+
pulumi.set(__self__, "user_login", user_login)
|
|
167
|
+
|
|
168
|
+
@property
|
|
169
|
+
@pulumi.getter
|
|
170
|
+
def decision(self) -> 'AuthPolicyDecision':
|
|
171
|
+
"""
|
|
172
|
+
The rule type of this policy definition
|
|
173
|
+
"""
|
|
174
|
+
return pulumi.get(self, "decision")
|
|
175
|
+
|
|
176
|
+
@property
|
|
177
|
+
@pulumi.getter
|
|
178
|
+
def rules(self) -> Mapping[str, str]:
|
|
179
|
+
"""
|
|
180
|
+
OIDC rules to set for this policy.
|
|
181
|
+
"""
|
|
182
|
+
return pulumi.get(self, "rules")
|
|
183
|
+
|
|
184
|
+
@property
|
|
185
|
+
@pulumi.getter(name="tokenType")
|
|
186
|
+
def token_type(self) -> 'AuthPolicyTokenType':
|
|
187
|
+
"""
|
|
188
|
+
The token type for this policy definition
|
|
189
|
+
"""
|
|
190
|
+
return pulumi.get(self, "token_type")
|
|
191
|
+
|
|
192
|
+
@property
|
|
193
|
+
@pulumi.getter(name="authorizedPermissions")
|
|
194
|
+
def authorized_permissions(self) -> Optional[Sequence['AuthPolicyPermissionLevel']]:
|
|
195
|
+
"""
|
|
196
|
+
The permission level for organization tokens.
|
|
197
|
+
"""
|
|
198
|
+
return pulumi.get(self, "authorized_permissions")
|
|
199
|
+
|
|
200
|
+
@property
|
|
201
|
+
@pulumi.getter(name="runnerID")
|
|
202
|
+
def runner_id(self) -> Optional[str]:
|
|
203
|
+
"""
|
|
204
|
+
The runner ID for deployment runner tokens.
|
|
205
|
+
"""
|
|
206
|
+
return pulumi.get(self, "runner_id")
|
|
207
|
+
|
|
208
|
+
@property
|
|
209
|
+
@pulumi.getter(name="teamName")
|
|
210
|
+
def team_name(self) -> Optional[str]:
|
|
211
|
+
"""
|
|
212
|
+
The team name for team tokens.
|
|
213
|
+
"""
|
|
214
|
+
return pulumi.get(self, "team_name")
|
|
215
|
+
|
|
216
|
+
@property
|
|
217
|
+
@pulumi.getter(name="userLogin")
|
|
218
|
+
def user_login(self) -> Optional[str]:
|
|
219
|
+
"""
|
|
220
|
+
The user login for personal tokens.
|
|
221
|
+
"""
|
|
222
|
+
return pulumi.get(self, "user_login")
|
|
223
|
+
|
|
224
|
+
|
|
111
225
|
@pulumi.output_type
|
|
112
226
|
class AzureOIDCConfiguration(dict):
|
|
113
227
|
@staticmethod
|
|
@@ -11,6 +11,7 @@ pulumi_pulumiservice/deployment_settings.py
|
|
|
11
11
|
pulumi_pulumiservice/drift_schedule.py
|
|
12
12
|
pulumi_pulumiservice/environment.py
|
|
13
13
|
pulumi_pulumiservice/environment_version_tag.py
|
|
14
|
+
pulumi_pulumiservice/oidc_issuer.py
|
|
14
15
|
pulumi_pulumiservice/org_access_token.py
|
|
15
16
|
pulumi_pulumiservice/outputs.py
|
|
16
17
|
pulumi_pulumiservice/provider.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/py.typed
RENAMED
|
File without changes
|
{pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/stack.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulumi_pulumiservice-0.28.0a1736807230 → pulumi_pulumiservice-0.29.0}/pulumi_pulumiservice/team.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|