0
# Parameter Store Configuration
1
2
Access AWS Systems Manager Parameter Store for configuration management and secure parameter storage in Dagster pipelines.
3
4
## Capabilities
5
6
### Parameter Store Resource
7
8
```python { .api }
9
class ParameterStoreResource(ResourceWithBoto3Configuration):
10
"""
11
Resource for accessing SSM Parameter Store.
12
"""
13
14
def get_parameter(self, name: str, with_decryption: bool = True) -> str:
15
"""
16
Get parameter value from Parameter Store.
17
18
Parameters:
19
name: Parameter name
20
with_decryption: Decrypt SecureString parameters
21
22
Returns:
23
str: Parameter value
24
"""
25
26
def get_parameters_by_path(
27
self,
28
path: str,
29
recursive: bool = True,
30
with_decryption: bool = True
31
) -> Dict[str, str]:
32
"""
33
Get parameters by path prefix.
34
35
Parameters:
36
path: Parameter path prefix
37
recursive: Include nested paths
38
with_decryption: Decrypt SecureString parameters
39
40
Returns:
41
Dict: Parameter name to value mapping
42
"""
43
44
class ParameterStoreTag:
45
"""
46
Tag filter for Parameter Store queries.
47
"""
48
key: str
49
values: List[str]
50
51
class SSMResource(ResourceWithBoto3Configuration):
52
"""
53
General SSM resource for broader SSM operations.
54
"""
55
56
def parameter_store_resource(**kwargs) -> ParameterStoreResource: ...
57
def ssm_resource(**kwargs) -> SSMResource: ...
58
```
59
60
## Usage Examples
61
62
```python
63
from dagster import op, job, Definitions
64
from dagster_aws.ssm import ParameterStoreResource
65
66
@op(required_resource_keys={"params"})
67
def get_configuration(context):
68
params = context.resources.params
69
70
# Get individual parameter
71
api_key = params.get_parameter("/app/prod/api-key")
72
73
# Get all parameters for environment
74
config = params.get_parameters_by_path("/app/prod/")
75
76
return {
77
"api_key": api_key,
78
"database_url": config["/app/prod/database-url"],
79
"cache_ttl": int(config["/app/prod/cache-ttl"])
80
}
81
82
@job(
83
resource_defs={
84
"params": ParameterStoreResource(region_name="us-east-1")
85
}
86
)
87
def configured_job():
88
get_configuration()
89
90
defs = Definitions(jobs=[configured_job])
91
```