pulumi-null 0.0.3a1710157610__tar.gz → 0.1.0a1736834615__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.

Potentially problematic release.


This version of pulumi-null might be problematic. Click here for more details.

Files changed (18) hide show
  1. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/PKG-INFO +5 -4
  2. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/pulumi_null/_utilities.py +41 -5
  3. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/pulumi_null/get_data_source.py +18 -8
  4. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/pulumi_null/provider.py +5 -0
  5. pulumi_null-0.1.0a1736834615/pulumi_null/pulumi-plugin.json +5 -0
  6. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/pulumi_null/resource.py +55 -0
  7. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/pulumi_null.egg-info/PKG-INFO +5 -4
  8. pulumi_null-0.1.0a1736834615/pulumi_null.egg-info/requires.txt +6 -0
  9. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/pyproject.toml +3 -3
  10. pulumi_null-0.0.3a1710157610/pulumi_null/pulumi-plugin.json +0 -4
  11. pulumi_null-0.0.3a1710157610/pulumi_null.egg-info/requires.txt +0 -3
  12. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/README.md +0 -0
  13. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/pulumi_null/__init__.py +0 -0
  14. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/pulumi_null/py.typed +0 -0
  15. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/pulumi_null.egg-info/SOURCES.txt +0 -0
  16. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/pulumi_null.egg-info/dependency_links.txt +0 -0
  17. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/pulumi_null.egg-info/top_level.txt +0 -0
  18. {pulumi_null-0.0.3a1710157610 → pulumi_null-0.1.0a1736834615}/setup.cfg +0 -0
@@ -1,16 +1,17 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: pulumi_null
3
- Version: 0.0.3a1710157610
3
+ Version: 0.1.0a1736834615
4
4
  Summary: A Pulumi package for creating and managing Null cloud resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://www.pulumi.com/
7
7
  Project-URL: Repository, https://github.com/pulumi/pulumi-null
8
8
  Keywords: pulumi,category/cloud
9
- Requires-Python: >=3.8
9
+ Requires-Python: >=3.9
10
10
  Description-Content-Type: text/markdown
11
11
  Requires-Dist: parver>=0.2.1
12
- Requires-Dist: pulumi<4.0.0,>=3.0.0
12
+ Requires-Dist: pulumi<4.0.0,>=3.142.0
13
13
  Requires-Dist: semver>=2.8.1
14
+ Requires-Dist: typing-extensions>=4.11; python_version < "3.11"
14
15
 
15
16
  [![Actions Status](https://github.com/pulumi/pulumi-null/workflows/master/badge.svg)](https://github.com/pulumi/pulumi-null/actions)
16
17
  [![NPM version](https://img.shields.io/npm/v/@pulumi/null)](https://www.npmjs.com/package/@pulumi/null)
@@ -4,6 +4,7 @@
4
4
 
5
5
 
6
6
  import asyncio
7
+ import functools
7
8
  import importlib.metadata
8
9
  import importlib.util
9
10
  import inspect
@@ -11,14 +12,19 @@ import json
11
12
  import os
12
13
  import sys
13
14
  import typing
15
+ import warnings
16
+ import base64
14
17
 
15
18
  import pulumi
16
19
  import pulumi.runtime
17
20
  from pulumi.runtime.sync_await import _sync_await
21
+ from pulumi.runtime.proto import resource_pb2
18
22
 
19
23
  from semver import VersionInfo as SemverVersion
20
24
  from parver import Version as PEP440Version
21
25
 
26
+ C = typing.TypeVar("C", bound=typing.Callable)
27
+
22
28
 
23
29
  def get_env(*args):
24
30
  for v in args:
@@ -96,10 +102,6 @@ def _get_semver_version():
96
102
  _version = _get_semver_version()
97
103
  _version_str = str(_version)
98
104
 
99
-
100
- def get_version():
101
- return _version_str
102
-
103
105
  def get_resource_opts_defaults() -> pulumi.ResourceOptions:
104
106
  return pulumi.ResourceOptions(
105
107
  version=get_version(),
@@ -262,7 +264,7 @@ def call_plain(
262
264
  output = pulumi.runtime.call(tok, props, res, typ)
263
265
 
264
266
  # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
265
- result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output)))
267
+ result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output)))
266
268
 
267
269
  problem = None
268
270
  if not known:
@@ -287,5 +289,39 @@ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bo
287
289
  await o._resources,
288
290
  )
289
291
 
292
+
293
+ # This is included to provide an upgrade path for users who are using a version
294
+ # of the Pulumi SDK (<3.121.0) that does not include the `deprecated` decorator.
295
+ def deprecated(message: str) -> typing.Callable[[C], C]:
296
+ """
297
+ Decorator to indicate a function is deprecated.
298
+
299
+ As well as inserting appropriate statements to indicate that the function is
300
+ deprecated, this decorator also tags the function with a special attribute
301
+ so that Pulumi code can detect that it is deprecated and react appropriately
302
+ in certain situations.
303
+
304
+ message is the deprecation message that should be printed if the function is called.
305
+ """
306
+
307
+ def decorator(fn: C) -> C:
308
+ if not callable(fn):
309
+ raise TypeError("Expected fn to be callable")
310
+
311
+ @functools.wraps(fn)
312
+ def deprecated_fn(*args, **kwargs):
313
+ warnings.warn(message)
314
+ pulumi.warn(f"{fn.__name__} is deprecated: {message}")
315
+
316
+ return fn(*args, **kwargs)
317
+
318
+ deprecated_fn.__dict__["_pulumi_deprecated_callable"] = fn
319
+ return typing.cast(C, deprecated_fn)
320
+
321
+ return decorator
322
+
290
323
  def get_plugin_download_url():
291
324
  return None
325
+
326
+ def get_version():
327
+ return _version_str
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
@@ -48,13 +53,11 @@ class GetDataSourceResult:
48
53
 
49
54
  @property
50
55
  @pulumi.getter
56
+ @_utilities.deprecated("""This attribute is only present for some legacy compatibility issues and should not be used. It will be removed in a future version.""")
51
57
  def id(self) -> str:
52
58
  """
53
59
  This attribute is only present for some legacy compatibility issues and should not be used. It will be removed in a future version.
54
60
  """
55
- warnings.warn("""This attribute is only present for some legacy compatibility issues and should not be used. It will be removed in a future version.""", DeprecationWarning)
56
- pulumi.log.warn("""id is deprecated: This attribute is only present for some legacy compatibility issues and should not be used. It will be removed in a future version.""")
57
-
58
61
  return pulumi.get(self, "id")
59
62
 
60
63
  @property
@@ -114,12 +117,9 @@ def get_data_source(has_computed_default: Optional[str] = None,
114
117
  inputs=pulumi.get(__ret__, 'inputs'),
115
118
  outputs=pulumi.get(__ret__, 'outputs'),
116
119
  random=pulumi.get(__ret__, 'random'))
117
-
118
-
119
- @_utilities.lift_output_func(get_data_source)
120
120
  def get_data_source_output(has_computed_default: Optional[pulumi.Input[Optional[str]]] = None,
121
121
  inputs: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None,
122
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDataSourceResult]:
122
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDataSourceResult]:
123
123
  """
124
124
  ## Example Usage
125
125
 
@@ -127,4 +127,14 @@ def get_data_source_output(has_computed_default: Optional[pulumi.Input[Optional[
127
127
  :param str has_computed_default: If set, its literal value will be stored and returned. If not, its value defaults to `"default"`. This argument exists primarily for testing and has little practical use.
128
128
  :param Mapping[str, str] inputs: A map of arbitrary strings that is copied into the `outputs` attribute, and accessible directly for interpolation.
129
129
  """
130
- ...
130
+ __args__ = dict()
131
+ __args__['hasComputedDefault'] = has_computed_default
132
+ __args__['inputs'] = inputs
133
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
134
+ __ret__ = pulumi.runtime.invoke_output('null:index/getDataSource:getDataSource', __args__, opts=opts, typ=GetDataSourceResult)
135
+ return __ret__.apply(lambda __response__: GetDataSourceResult(
136
+ has_computed_default=pulumi.get(__response__, 'has_computed_default'),
137
+ id=pulumi.get(__response__, 'id'),
138
+ inputs=pulumi.get(__response__, 'inputs'),
139
+ outputs=pulumi.get(__response__, 'outputs'),
140
+ random=pulumi.get(__response__, 'random')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['ProviderArgs', 'Provider']
@@ -0,0 +1,5 @@
1
+ {
2
+ "resource": true,
3
+ "name": "null",
4
+ "version": "0.1.0-alpha.1736834615"
5
+ }
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['ResourceArgs', 'Resource']
@@ -69,6 +74,31 @@ class Resource(pulumi.CustomResource):
69
74
  """
70
75
  ## Example Usage
71
76
 
77
+ ```python
78
+ import pulumi
79
+ import pulumi_aws as aws
80
+ import pulumi_null as null
81
+ import pulumi_std as std
82
+
83
+ cluster = []
84
+ for range in [{"value": i} for i in range(0, 3)]:
85
+ cluster.append(aws.index.Instance(f"cluster-{range['value']}",
86
+ ami=ami-0dcc1e21636832c5d,
87
+ instance_type=m5.large))
88
+ # The primary use-case for the null resource is as a do-nothing container
89
+ # for arbitrary actions taken by a provisioner.
90
+ #
91
+ # In this example, three EC2 instances are created and then a
92
+ # null_resource instance is used to gather data about all three
93
+ # and execute a single action that affects them all. Due to the triggers
94
+ # map, the null_resource will be replaced each time the instance ids
95
+ # change, and thus the remote-exec provisioner will be re-run.
96
+ cluster_resource = null.Resource("cluster", triggers={
97
+ "cluster_instance_ids": std.join(separator=",",
98
+ input=[__item["id"] for __item in cluster]).result,
99
+ })
100
+ ```
101
+
72
102
  :param str resource_name: The name of the resource.
73
103
  :param pulumi.ResourceOptions opts: Options for the resource.
74
104
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] triggers: A map of arbitrary strings that, when changed, will force the null resource to be replaced, re-running any associated provisioners.
@@ -82,6 +112,31 @@ class Resource(pulumi.CustomResource):
82
112
  """
83
113
  ## Example Usage
84
114
 
115
+ ```python
116
+ import pulumi
117
+ import pulumi_aws as aws
118
+ import pulumi_null as null
119
+ import pulumi_std as std
120
+
121
+ cluster = []
122
+ for range in [{"value": i} for i in range(0, 3)]:
123
+ cluster.append(aws.index.Instance(f"cluster-{range['value']}",
124
+ ami=ami-0dcc1e21636832c5d,
125
+ instance_type=m5.large))
126
+ # The primary use-case for the null resource is as a do-nothing container
127
+ # for arbitrary actions taken by a provisioner.
128
+ #
129
+ # In this example, three EC2 instances are created and then a
130
+ # null_resource instance is used to gather data about all three
131
+ # and execute a single action that affects them all. Due to the triggers
132
+ # map, the null_resource will be replaced each time the instance ids
133
+ # change, and thus the remote-exec provisioner will be re-run.
134
+ cluster_resource = null.Resource("cluster", triggers={
135
+ "cluster_instance_ids": std.join(separator=",",
136
+ input=[__item["id"] for __item in cluster]).result,
137
+ })
138
+ ```
139
+
85
140
  :param str resource_name: The name of the resource.
86
141
  :param ResourceArgs args: The arguments to use to populate this resource's properties.
87
142
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -1,16 +1,17 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: pulumi_null
3
- Version: 0.0.3a1710157610
3
+ Version: 0.1.0a1736834615
4
4
  Summary: A Pulumi package for creating and managing Null cloud resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://www.pulumi.com/
7
7
  Project-URL: Repository, https://github.com/pulumi/pulumi-null
8
8
  Keywords: pulumi,category/cloud
9
- Requires-Python: >=3.8
9
+ Requires-Python: >=3.9
10
10
  Description-Content-Type: text/markdown
11
11
  Requires-Dist: parver>=0.2.1
12
- Requires-Dist: pulumi<4.0.0,>=3.0.0
12
+ Requires-Dist: pulumi<4.0.0,>=3.142.0
13
13
  Requires-Dist: semver>=2.8.1
14
+ Requires-Dist: typing-extensions>=4.11; python_version < "3.11"
14
15
 
15
16
  [![Actions Status](https://github.com/pulumi/pulumi-null/workflows/master/badge.svg)](https://github.com/pulumi/pulumi-null/actions)
16
17
  [![NPM version](https://img.shields.io/npm/v/@pulumi/null)](https://www.npmjs.com/package/@pulumi/null)
@@ -0,0 +1,6 @@
1
+ parver>=0.2.1
2
+ pulumi<4.0.0,>=3.142.0
3
+ semver>=2.8.1
4
+
5
+ [:python_version < "3.11"]
6
+ typing-extensions>=4.11
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "pulumi_null"
3
3
  description = "A Pulumi package for creating and managing Null cloud resources."
4
- dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"]
4
+ dependencies = ["parver>=0.2.1", "pulumi>=3.142.0,<4.0.0", "semver>=2.8.1", "typing-extensions>=4.11; python_version < \"3.11\""]
5
5
  keywords = ["pulumi", "category/cloud"]
6
6
  readme = "README.md"
7
- requires-python = ">=3.8"
8
- version = "0.0.3a1710157610"
7
+ requires-python = ">=3.9"
8
+ version = "0.1.0a1736834615"
9
9
  [project.license]
10
10
  text = "Apache-2.0"
11
11
  [project.urls]
@@ -1,4 +0,0 @@
1
- {
2
- "resource": true,
3
- "name": "null"
4
- }
@@ -1,3 +0,0 @@
1
- parver>=0.2.1
2
- pulumi<4.0.0,>=3.0.0
3
- semver>=2.8.1