pulumi-pulumiservice 0.28.0a1736807230__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. pulumi_pulumiservice/__init__.py +76 -0
  2. pulumi_pulumiservice/_enums.py +228 -0
  3. pulumi_pulumiservice/_inputs.py +1143 -0
  4. pulumi_pulumiservice/_utilities.py +327 -0
  5. pulumi_pulumiservice/access_token.py +137 -0
  6. pulumi_pulumiservice/agent_pool.py +235 -0
  7. pulumi_pulumiservice/config/__init__.py +8 -0
  8. pulumi_pulumiservice/config/__init__.pyi +18 -0
  9. pulumi_pulumiservice/config/vars.py +26 -0
  10. pulumi_pulumiservice/deployment_schedule.py +284 -0
  11. pulumi_pulumiservice/deployment_settings.py +377 -0
  12. pulumi_pulumiservice/drift_schedule.py +258 -0
  13. pulumi_pulumiservice/environment.py +228 -0
  14. pulumi_pulumiservice/environment_version_tag.py +248 -0
  15. pulumi_pulumiservice/org_access_token.py +229 -0
  16. pulumi_pulumiservice/outputs.py +902 -0
  17. pulumi_pulumiservice/provider.py +95 -0
  18. pulumi_pulumiservice/pulumi-plugin.json +5 -0
  19. pulumi_pulumiservice/py.typed +0 -0
  20. pulumi_pulumiservice/stack.py +214 -0
  21. pulumi_pulumiservice/stack_tag.py +245 -0
  22. pulumi_pulumiservice/team.py +300 -0
  23. pulumi_pulumiservice/team_access_token.py +226 -0
  24. pulumi_pulumiservice/team_environment_permission.py +213 -0
  25. pulumi_pulumiservice/team_stack_permission.py +201 -0
  26. pulumi_pulumiservice/template_source.py +216 -0
  27. pulumi_pulumiservice/ttl_schedule.py +258 -0
  28. pulumi_pulumiservice/webhook.py +451 -0
  29. pulumi_pulumiservice-0.28.0a1736807230.dist-info/METADATA +121 -0
  30. pulumi_pulumiservice-0.28.0a1736807230.dist-info/RECORD +32 -0
  31. pulumi_pulumiservice-0.28.0a1736807230.dist-info/WHEEL +5 -0
  32. pulumi_pulumiservice-0.28.0a1736807230.dist-info/top_level.txt +1 -0
@@ -0,0 +1,213 @@
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 ._enums import *
17
+
18
+ __all__ = ['TeamEnvironmentPermissionArgs', 'TeamEnvironmentPermission']
19
+
20
+ @pulumi.input_type
21
+ class TeamEnvironmentPermissionArgs:
22
+ def __init__(__self__, *,
23
+ environment: pulumi.Input[str],
24
+ organization: pulumi.Input[str],
25
+ permission: pulumi.Input['EnvironmentPermission'],
26
+ team: pulumi.Input[str],
27
+ project: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a TeamEnvironmentPermission resource.
30
+ :param pulumi.Input[str] environment: Environment name.
31
+ :param pulumi.Input[str] organization: Organization name.
32
+ :param pulumi.Input['EnvironmentPermission'] permission: Which permission level to grant to the specified team.
33
+ :param pulumi.Input[str] team: Team name.
34
+ :param pulumi.Input[str] project: Project name.
35
+ """
36
+ pulumi.set(__self__, "environment", environment)
37
+ pulumi.set(__self__, "organization", organization)
38
+ pulumi.set(__self__, "permission", permission)
39
+ pulumi.set(__self__, "team", team)
40
+ if project is None:
41
+ project = 'default'
42
+ if project is not None:
43
+ pulumi.set(__self__, "project", project)
44
+
45
+ @property
46
+ @pulumi.getter
47
+ def environment(self) -> pulumi.Input[str]:
48
+ """
49
+ Environment name.
50
+ """
51
+ return pulumi.get(self, "environment")
52
+
53
+ @environment.setter
54
+ def environment(self, value: pulumi.Input[str]):
55
+ pulumi.set(self, "environment", value)
56
+
57
+ @property
58
+ @pulumi.getter
59
+ def organization(self) -> pulumi.Input[str]:
60
+ """
61
+ Organization name.
62
+ """
63
+ return pulumi.get(self, "organization")
64
+
65
+ @organization.setter
66
+ def organization(self, value: pulumi.Input[str]):
67
+ pulumi.set(self, "organization", value)
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def permission(self) -> pulumi.Input['EnvironmentPermission']:
72
+ """
73
+ Which permission level to grant to the specified team.
74
+ """
75
+ return pulumi.get(self, "permission")
76
+
77
+ @permission.setter
78
+ def permission(self, value: pulumi.Input['EnvironmentPermission']):
79
+ pulumi.set(self, "permission", value)
80
+
81
+ @property
82
+ @pulumi.getter
83
+ def team(self) -> pulumi.Input[str]:
84
+ """
85
+ Team name.
86
+ """
87
+ return pulumi.get(self, "team")
88
+
89
+ @team.setter
90
+ def team(self, value: pulumi.Input[str]):
91
+ pulumi.set(self, "team", value)
92
+
93
+ @property
94
+ @pulumi.getter
95
+ def project(self) -> Optional[pulumi.Input[str]]:
96
+ """
97
+ Project name.
98
+ """
99
+ return pulumi.get(self, "project")
100
+
101
+ @project.setter
102
+ def project(self, value: Optional[pulumi.Input[str]]):
103
+ pulumi.set(self, "project", value)
104
+
105
+
106
+ class TeamEnvironmentPermission(pulumi.CustomResource):
107
+ @overload
108
+ def __init__(__self__,
109
+ resource_name: str,
110
+ opts: Optional[pulumi.ResourceOptions] = None,
111
+ environment: Optional[pulumi.Input[str]] = None,
112
+ organization: Optional[pulumi.Input[str]] = None,
113
+ permission: Optional[pulumi.Input['EnvironmentPermission']] = None,
114
+ project: Optional[pulumi.Input[str]] = None,
115
+ team: Optional[pulumi.Input[str]] = None,
116
+ __props__=None):
117
+ """
118
+ A permission for a team to use an environment.
119
+
120
+ :param str resource_name: The name of the resource.
121
+ :param pulumi.ResourceOptions opts: Options for the resource.
122
+ :param pulumi.Input[str] environment: Environment name.
123
+ :param pulumi.Input[str] organization: Organization name.
124
+ :param pulumi.Input['EnvironmentPermission'] permission: Which permission level to grant to the specified team.
125
+ :param pulumi.Input[str] project: Project name.
126
+ :param pulumi.Input[str] team: Team name.
127
+ """
128
+ ...
129
+ @overload
130
+ def __init__(__self__,
131
+ resource_name: str,
132
+ args: TeamEnvironmentPermissionArgs,
133
+ opts: Optional[pulumi.ResourceOptions] = None):
134
+ """
135
+ A permission for a team to use an environment.
136
+
137
+ :param str resource_name: The name of the resource.
138
+ :param TeamEnvironmentPermissionArgs args: The arguments to use to populate this resource's properties.
139
+ :param pulumi.ResourceOptions opts: Options for the resource.
140
+ """
141
+ ...
142
+ def __init__(__self__, resource_name: str, *args, **kwargs):
143
+ resource_args, opts = _utilities.get_resource_args_opts(TeamEnvironmentPermissionArgs, pulumi.ResourceOptions, *args, **kwargs)
144
+ if resource_args is not None:
145
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
146
+ else:
147
+ __self__._internal_init(resource_name, *args, **kwargs)
148
+
149
+ def _internal_init(__self__,
150
+ resource_name: str,
151
+ opts: Optional[pulumi.ResourceOptions] = None,
152
+ environment: Optional[pulumi.Input[str]] = None,
153
+ organization: Optional[pulumi.Input[str]] = None,
154
+ permission: Optional[pulumi.Input['EnvironmentPermission']] = None,
155
+ project: Optional[pulumi.Input[str]] = None,
156
+ team: Optional[pulumi.Input[str]] = None,
157
+ __props__=None):
158
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
159
+ if not isinstance(opts, pulumi.ResourceOptions):
160
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
161
+ if opts.id is None:
162
+ if __props__ is not None:
163
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
164
+ __props__ = TeamEnvironmentPermissionArgs.__new__(TeamEnvironmentPermissionArgs)
165
+
166
+ if environment is None and not opts.urn:
167
+ raise TypeError("Missing required property 'environment'")
168
+ __props__.__dict__["environment"] = environment
169
+ if organization is None and not opts.urn:
170
+ raise TypeError("Missing required property 'organization'")
171
+ __props__.__dict__["organization"] = organization
172
+ if permission is None and not opts.urn:
173
+ raise TypeError("Missing required property 'permission'")
174
+ __props__.__dict__["permission"] = permission
175
+ if project is None:
176
+ project = 'default'
177
+ __props__.__dict__["project"] = project
178
+ if team is None and not opts.urn:
179
+ raise TypeError("Missing required property 'team'")
180
+ __props__.__dict__["team"] = team
181
+ super(TeamEnvironmentPermission, __self__).__init__(
182
+ 'pulumiservice:index:TeamEnvironmentPermission',
183
+ resource_name,
184
+ __props__,
185
+ opts)
186
+
187
+ @staticmethod
188
+ def get(resource_name: str,
189
+ id: pulumi.Input[str],
190
+ opts: Optional[pulumi.ResourceOptions] = None) -> 'TeamEnvironmentPermission':
191
+ """
192
+ Get an existing TeamEnvironmentPermission resource's state with the given name, id, and optional extra
193
+ properties used to qualify the lookup.
194
+
195
+ :param str resource_name: The unique name of the resulting resource.
196
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
197
+ :param pulumi.ResourceOptions opts: Options for the resource.
198
+ """
199
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
200
+
201
+ __props__ = TeamEnvironmentPermissionArgs.__new__(TeamEnvironmentPermissionArgs)
202
+
203
+ __props__.__dict__["permission"] = None
204
+ return TeamEnvironmentPermission(resource_name, opts=opts, __props__=__props__)
205
+
206
+ @property
207
+ @pulumi.getter
208
+ def permission(self) -> pulumi.Output[Optional['EnvironmentPermission']]:
209
+ """
210
+ Which permission level to grant to the specified team.
211
+ """
212
+ return pulumi.get(self, "permission")
213
+
@@ -0,0 +1,201 @@
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 ._enums import *
17
+
18
+ __all__ = ['TeamStackPermissionArgs', 'TeamStackPermission']
19
+
20
+ @pulumi.input_type
21
+ class TeamStackPermissionArgs:
22
+ def __init__(__self__, *,
23
+ organization: pulumi.Input[str],
24
+ permission: 'TeamStackPermissionScope',
25
+ project: pulumi.Input[str],
26
+ stack: pulumi.Input[str],
27
+ team: pulumi.Input[str]):
28
+ """
29
+ The set of arguments for constructing a TeamStackPermission resource.
30
+ :param pulumi.Input[str] organization: The organization or the personal account name of the stack.
31
+ :param 'TeamStackPermissionScope' permission: Sets the permission level that this team will be granted to the stack.
32
+ :param pulumi.Input[str] project: The project name for this stack.
33
+ :param pulumi.Input[str] stack: The name of the stack that the team will be granted permissions to.
34
+ :param pulumi.Input[str] team: The name of the team to grant this stack permissions to. This is not the display name.
35
+ """
36
+ pulumi.set(__self__, "organization", organization)
37
+ pulumi.set(__self__, "permission", permission)
38
+ pulumi.set(__self__, "project", project)
39
+ pulumi.set(__self__, "stack", stack)
40
+ pulumi.set(__self__, "team", team)
41
+
42
+ @property
43
+ @pulumi.getter
44
+ def organization(self) -> pulumi.Input[str]:
45
+ """
46
+ The organization or the personal account name of the stack.
47
+ """
48
+ return pulumi.get(self, "organization")
49
+
50
+ @organization.setter
51
+ def organization(self, value: pulumi.Input[str]):
52
+ pulumi.set(self, "organization", value)
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def permission(self) -> 'TeamStackPermissionScope':
57
+ """
58
+ Sets the permission level that this team will be granted to the stack.
59
+ """
60
+ return pulumi.get(self, "permission")
61
+
62
+ @permission.setter
63
+ def permission(self, value: 'TeamStackPermissionScope'):
64
+ pulumi.set(self, "permission", value)
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def project(self) -> pulumi.Input[str]:
69
+ """
70
+ The project name for this stack.
71
+ """
72
+ return pulumi.get(self, "project")
73
+
74
+ @project.setter
75
+ def project(self, value: pulumi.Input[str]):
76
+ pulumi.set(self, "project", value)
77
+
78
+ @property
79
+ @pulumi.getter
80
+ def stack(self) -> pulumi.Input[str]:
81
+ """
82
+ The name of the stack that the team will be granted permissions to.
83
+ """
84
+ return pulumi.get(self, "stack")
85
+
86
+ @stack.setter
87
+ def stack(self, value: pulumi.Input[str]):
88
+ pulumi.set(self, "stack", value)
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def team(self) -> pulumi.Input[str]:
93
+ """
94
+ The name of the team to grant this stack permissions to. This is not the display name.
95
+ """
96
+ return pulumi.get(self, "team")
97
+
98
+ @team.setter
99
+ def team(self, value: pulumi.Input[str]):
100
+ pulumi.set(self, "team", value)
101
+
102
+
103
+ class TeamStackPermission(pulumi.CustomResource):
104
+ @overload
105
+ def __init__(__self__,
106
+ resource_name: str,
107
+ opts: Optional[pulumi.ResourceOptions] = None,
108
+ organization: Optional[pulumi.Input[str]] = None,
109
+ permission: Optional['TeamStackPermissionScope'] = None,
110
+ project: Optional[pulumi.Input[str]] = None,
111
+ stack: Optional[pulumi.Input[str]] = None,
112
+ team: Optional[pulumi.Input[str]] = None,
113
+ __props__=None):
114
+ """
115
+ Grants a team permissions to the specified stack.
116
+
117
+ :param str resource_name: The name of the resource.
118
+ :param pulumi.ResourceOptions opts: Options for the resource.
119
+ :param pulumi.Input[str] organization: The organization or the personal account name of the stack.
120
+ :param 'TeamStackPermissionScope' permission: Sets the permission level that this team will be granted to the stack.
121
+ :param pulumi.Input[str] project: The project name for this stack.
122
+ :param pulumi.Input[str] stack: The name of the stack that the team will be granted permissions to.
123
+ :param pulumi.Input[str] team: The name of the team to grant this stack permissions to. This is not the display name.
124
+ """
125
+ ...
126
+ @overload
127
+ def __init__(__self__,
128
+ resource_name: str,
129
+ args: TeamStackPermissionArgs,
130
+ opts: Optional[pulumi.ResourceOptions] = None):
131
+ """
132
+ Grants a team permissions to the specified stack.
133
+
134
+ :param str resource_name: The name of the resource.
135
+ :param TeamStackPermissionArgs args: The arguments to use to populate this resource's properties.
136
+ :param pulumi.ResourceOptions opts: Options for the resource.
137
+ """
138
+ ...
139
+ def __init__(__self__, resource_name: str, *args, **kwargs):
140
+ resource_args, opts = _utilities.get_resource_args_opts(TeamStackPermissionArgs, pulumi.ResourceOptions, *args, **kwargs)
141
+ if resource_args is not None:
142
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
143
+ else:
144
+ __self__._internal_init(resource_name, *args, **kwargs)
145
+
146
+ def _internal_init(__self__,
147
+ resource_name: str,
148
+ opts: Optional[pulumi.ResourceOptions] = None,
149
+ organization: Optional[pulumi.Input[str]] = None,
150
+ permission: Optional['TeamStackPermissionScope'] = None,
151
+ project: Optional[pulumi.Input[str]] = None,
152
+ stack: Optional[pulumi.Input[str]] = None,
153
+ team: Optional[pulumi.Input[str]] = None,
154
+ __props__=None):
155
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
156
+ if not isinstance(opts, pulumi.ResourceOptions):
157
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
158
+ if opts.id is None:
159
+ if __props__ is not None:
160
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
161
+ __props__ = TeamStackPermissionArgs.__new__(TeamStackPermissionArgs)
162
+
163
+ if organization is None and not opts.urn:
164
+ raise TypeError("Missing required property 'organization'")
165
+ __props__.__dict__["organization"] = organization
166
+ if permission is None and not opts.urn:
167
+ raise TypeError("Missing required property 'permission'")
168
+ __props__.__dict__["permission"] = permission
169
+ if project is None and not opts.urn:
170
+ raise TypeError("Missing required property 'project'")
171
+ __props__.__dict__["project"] = project
172
+ if stack is None and not opts.urn:
173
+ raise TypeError("Missing required property 'stack'")
174
+ __props__.__dict__["stack"] = stack
175
+ if team is None and not opts.urn:
176
+ raise TypeError("Missing required property 'team'")
177
+ __props__.__dict__["team"] = team
178
+ super(TeamStackPermission, __self__).__init__(
179
+ 'pulumiservice:index:TeamStackPermission',
180
+ resource_name,
181
+ __props__,
182
+ opts)
183
+
184
+ @staticmethod
185
+ def get(resource_name: str,
186
+ id: pulumi.Input[str],
187
+ opts: Optional[pulumi.ResourceOptions] = None) -> 'TeamStackPermission':
188
+ """
189
+ Get an existing TeamStackPermission resource's state with the given name, id, and optional extra
190
+ properties used to qualify the lookup.
191
+
192
+ :param str resource_name: The unique name of the resulting resource.
193
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
194
+ :param pulumi.ResourceOptions opts: Options for the resource.
195
+ """
196
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
197
+
198
+ __props__ = TeamStackPermissionArgs.__new__(TeamStackPermissionArgs)
199
+
200
+ return TeamStackPermission(resource_name, opts=opts, __props__=__props__)
201
+
@@ -0,0 +1,216 @@
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 ._inputs import *
18
+
19
+ __all__ = ['TemplateSourceArgs', 'TemplateSource']
20
+
21
+ @pulumi.input_type
22
+ class TemplateSourceArgs:
23
+ def __init__(__self__, *,
24
+ organization_name: pulumi.Input[str],
25
+ source_name: pulumi.Input[str],
26
+ source_url: pulumi.Input[str],
27
+ destination: Optional[pulumi.Input['TemplateSourceDestinationArgs']] = None):
28
+ """
29
+ The set of arguments for constructing a TemplateSource resource.
30
+ :param pulumi.Input[str] organization_name: Organization name.
31
+ :param pulumi.Input[str] source_name: Source name.
32
+ :param pulumi.Input[str] source_url: Github URL of the repository from which to grab templates.
33
+ :param pulumi.Input['TemplateSourceDestinationArgs'] destination: The default destination for projects using templates from this source.
34
+ """
35
+ pulumi.set(__self__, "organization_name", organization_name)
36
+ pulumi.set(__self__, "source_name", source_name)
37
+ pulumi.set(__self__, "source_url", source_url)
38
+ if destination is not None:
39
+ pulumi.set(__self__, "destination", destination)
40
+
41
+ @property
42
+ @pulumi.getter(name="organizationName")
43
+ def organization_name(self) -> pulumi.Input[str]:
44
+ """
45
+ Organization name.
46
+ """
47
+ return pulumi.get(self, "organization_name")
48
+
49
+ @organization_name.setter
50
+ def organization_name(self, value: pulumi.Input[str]):
51
+ pulumi.set(self, "organization_name", value)
52
+
53
+ @property
54
+ @pulumi.getter(name="sourceName")
55
+ def source_name(self) -> pulumi.Input[str]:
56
+ """
57
+ Source name.
58
+ """
59
+ return pulumi.get(self, "source_name")
60
+
61
+ @source_name.setter
62
+ def source_name(self, value: pulumi.Input[str]):
63
+ pulumi.set(self, "source_name", value)
64
+
65
+ @property
66
+ @pulumi.getter(name="sourceURL")
67
+ def source_url(self) -> pulumi.Input[str]:
68
+ """
69
+ Github URL of the repository from which to grab templates.
70
+ """
71
+ return pulumi.get(self, "source_url")
72
+
73
+ @source_url.setter
74
+ def source_url(self, value: pulumi.Input[str]):
75
+ pulumi.set(self, "source_url", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def destination(self) -> Optional[pulumi.Input['TemplateSourceDestinationArgs']]:
80
+ """
81
+ The default destination for projects using templates from this source.
82
+ """
83
+ return pulumi.get(self, "destination")
84
+
85
+ @destination.setter
86
+ def destination(self, value: Optional[pulumi.Input['TemplateSourceDestinationArgs']]):
87
+ pulumi.set(self, "destination", value)
88
+
89
+
90
+ class TemplateSource(pulumi.CustomResource):
91
+ @overload
92
+ def __init__(__self__,
93
+ resource_name: str,
94
+ opts: Optional[pulumi.ResourceOptions] = None,
95
+ destination: Optional[pulumi.Input[Union['TemplateSourceDestinationArgs', 'TemplateSourceDestinationArgsDict']]] = None,
96
+ organization_name: Optional[pulumi.Input[str]] = None,
97
+ source_name: Optional[pulumi.Input[str]] = None,
98
+ source_url: Optional[pulumi.Input[str]] = None,
99
+ __props__=None):
100
+ """
101
+ A source for Pulumi templates
102
+
103
+ :param str resource_name: The name of the resource.
104
+ :param pulumi.ResourceOptions opts: Options for the resource.
105
+ :param pulumi.Input[Union['TemplateSourceDestinationArgs', 'TemplateSourceDestinationArgsDict']] destination: The default destination for projects using templates from this source.
106
+ :param pulumi.Input[str] organization_name: Organization name.
107
+ :param pulumi.Input[str] source_name: Source name.
108
+ :param pulumi.Input[str] source_url: Github URL of the repository from which to grab templates.
109
+ """
110
+ ...
111
+ @overload
112
+ def __init__(__self__,
113
+ resource_name: str,
114
+ args: TemplateSourceArgs,
115
+ opts: Optional[pulumi.ResourceOptions] = None):
116
+ """
117
+ A source for Pulumi templates
118
+
119
+ :param str resource_name: The name of the resource.
120
+ :param TemplateSourceArgs args: The arguments to use to populate this resource's properties.
121
+ :param pulumi.ResourceOptions opts: Options for the resource.
122
+ """
123
+ ...
124
+ def __init__(__self__, resource_name: str, *args, **kwargs):
125
+ resource_args, opts = _utilities.get_resource_args_opts(TemplateSourceArgs, pulumi.ResourceOptions, *args, **kwargs)
126
+ if resource_args is not None:
127
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
128
+ else:
129
+ __self__._internal_init(resource_name, *args, **kwargs)
130
+
131
+ def _internal_init(__self__,
132
+ resource_name: str,
133
+ opts: Optional[pulumi.ResourceOptions] = None,
134
+ destination: Optional[pulumi.Input[Union['TemplateSourceDestinationArgs', 'TemplateSourceDestinationArgsDict']]] = None,
135
+ organization_name: Optional[pulumi.Input[str]] = None,
136
+ source_name: Optional[pulumi.Input[str]] = None,
137
+ source_url: Optional[pulumi.Input[str]] = None,
138
+ __props__=None):
139
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
140
+ if not isinstance(opts, pulumi.ResourceOptions):
141
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
142
+ if opts.id is None:
143
+ if __props__ is not None:
144
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
145
+ __props__ = TemplateSourceArgs.__new__(TemplateSourceArgs)
146
+
147
+ __props__.__dict__["destination"] = destination
148
+ if organization_name is None and not opts.urn:
149
+ raise TypeError("Missing required property 'organization_name'")
150
+ __props__.__dict__["organization_name"] = organization_name
151
+ if source_name is None and not opts.urn:
152
+ raise TypeError("Missing required property 'source_name'")
153
+ __props__.__dict__["source_name"] = source_name
154
+ if source_url is None and not opts.urn:
155
+ raise TypeError("Missing required property 'source_url'")
156
+ __props__.__dict__["source_url"] = source_url
157
+ super(TemplateSource, __self__).__init__(
158
+ 'pulumiservice:index:TemplateSource',
159
+ resource_name,
160
+ __props__,
161
+ opts)
162
+
163
+ @staticmethod
164
+ def get(resource_name: str,
165
+ id: pulumi.Input[str],
166
+ opts: Optional[pulumi.ResourceOptions] = None) -> 'TemplateSource':
167
+ """
168
+ Get an existing TemplateSource resource's state with the given name, id, and optional extra
169
+ properties used to qualify the lookup.
170
+
171
+ :param str resource_name: The unique name of the resulting resource.
172
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
173
+ :param pulumi.ResourceOptions opts: Options for the resource.
174
+ """
175
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
176
+
177
+ __props__ = TemplateSourceArgs.__new__(TemplateSourceArgs)
178
+
179
+ __props__.__dict__["destination"] = None
180
+ __props__.__dict__["organization_name"] = None
181
+ __props__.__dict__["source_name"] = None
182
+ __props__.__dict__["source_url"] = None
183
+ return TemplateSource(resource_name, opts=opts, __props__=__props__)
184
+
185
+ @property
186
+ @pulumi.getter
187
+ def destination(self) -> pulumi.Output[Optional['outputs.TemplateSourceDestination']]:
188
+ """
189
+ The default destination for projects using templates from this source.
190
+ """
191
+ return pulumi.get(self, "destination")
192
+
193
+ @property
194
+ @pulumi.getter(name="organizationName")
195
+ def organization_name(self) -> pulumi.Output[str]:
196
+ """
197
+ Organization name.
198
+ """
199
+ return pulumi.get(self, "organization_name")
200
+
201
+ @property
202
+ @pulumi.getter(name="sourceName")
203
+ def source_name(self) -> pulumi.Output[str]:
204
+ """
205
+ Source name.
206
+ """
207
+ return pulumi.get(self, "source_name")
208
+
209
+ @property
210
+ @pulumi.getter(name="sourceURL")
211
+ def source_url(self) -> pulumi.Output[str]:
212
+ """
213
+ Github URL of the repository from which to grab templates.
214
+ """
215
+ return pulumi.get(self, "source_url")
216
+