@@ -110,59 +110,67 @@ The following sample infrastructure will be used throughout this documentation:
110
110
111
111
=== "CDK"
112
112
113
- ```python hl_lines="13-29 31 33 37 41 47"
114
- import json
115
-
116
- import aws_cdk.aws_appconfig as appconfig
117
- from aws_cdk import core
113
+ ```python hl_lines="11-22 24 29 35 42 50"
114
+ import json
115
+
116
+ import aws_cdk.aws_appconfig as appconfig
117
+ from aws_cdk import core
118
+
119
+
120
+ class SampleFeatureFlagStore(core.Construct):
121
+ def __init__(self, scope: core.Construct, id_: str) -> None:
122
+ super().__init__(scope, id_)
123
+
124
+ features_config = {
125
+ "premium_features": {
126
+ "default": False,
127
+ "rules": {
128
+ "customer tier equals premium": {
129
+ "when_match": True,
130
+ "conditions": [{"action": "EQUALS", "key": "tier", "value": "premium"}],
131
+ }
132
+ },
133
+ },
134
+ "ten_percent_off_campaign": {"default": True},
135
+ }
118
136
137
+ self.config_app = appconfig.CfnApplication(
138
+ self,
139
+ id="app",
140
+ name="product-catalogue",
141
+ )
142
+ self.config_env = appconfig.CfnEnvironment(
143
+ self,
144
+ id="env",
145
+ application_id=self.config_app.ref,
146
+ name="dev-env",
147
+ )
148
+ self.config_profile = appconfig.CfnConfigurationProfile(
149
+ self,
150
+ id="profile",
151
+ application_id=self.config_app.ref,
152
+ location_uri="hosted",
153
+ name="features",
154
+ )
155
+ self.hosted_cfg_version = appconfig.CfnHostedConfigurationVersion(
156
+ self,
157
+ "version",
158
+ application_id=self.config_app.ref,
159
+ configuration_profile_id=self.config_profile.ref,
160
+ content=json.dumps(features_config),
161
+ content_type="application/json",
162
+ )
163
+ self.app_config_deployment = appconfig.CfnDeployment(
164
+ self,
165
+ id="deploy",
166
+ application_id=self.config_app.ref,
167
+ configuration_profile_id=self.config_profile.ref,
168
+ configuration_version=self.hosted_cfg_version.ref,
169
+ deployment_strategy_id="AppConfig.AllAtOnce",
170
+ environment_id=self.config_env.ref,
171
+ )
119
172
120
- class SampleFeatureFlagStore(core.Construct):
121
-
122
- def __init__(self, scope: core.Construct, id_: str) -> None:
123
- super().__init__(scope, id_)
124
-
125
- features_config = {
126
- "premium_features": {
127
- "default": False,
128
- "rules": {
129
- "customer tier equals premium": {
130
- "when_match": True,
131
- "conditions": [{
132
- "action": "EQUALS",
133
- "key": "tier",
134
- "value": "premium"
135
- }]
136
- }
137
- }
138
- },
139
- "ten_percent_off_campaign": {
140
- "default": True
141
- }
142
- }
143
-
144
- self.config_app = appconfig.CfnApplication(self, id='app', name="product-catalogue")
145
-
146
- self.config_env = appconfig.CfnEnvironment(self, id='env',
147
- application_id=self.config_app.ref,
148
- name="dev-env")
149
-
150
- self.config_profile = appconfig.CfnConfigurationProfile(self, id='profile',
151
- application_id=self.config_app.ref,
152
- location_uri='hosted', name="features")
153
-
154
- self.hosted_cfg_version = appconfig.CfnHostedConfigurationVersion(self, 'version',
155
- application_id=self.config_app.ref,
156
- configuration_profile_id=self.config_profile.ref,
157
- content=json_dumps(features_config),
158
- content_type='application/json')
159
-
160
- self.app_config_deployment = appconfig.CfnDeployment(self, id='deploy', application_id=self.config_app.ref,
161
- configuration_profile_id=self.config_profile.ref,
162
- configuration_version=self.hosted_cfg_version.ref,
163
- deployment_strategy_id="AppConfig.AllAtOnce",
164
- environment_id=self.config_env.ref)
165
- ```
173
+ ```
166
174
167
175
### Evaluating a single feature flag
168
176
0 commit comments