diff --git a/knowledge base/pulumi.md b/knowledge base/pulumi.md
index de18be2..0a08da4 100644
--- a/knowledge base/pulumi.md
+++ b/knowledge base/pulumi.md
@@ -114,7 +114,7 @@ pulumi import 'aws:secretsmanager/secret:Secret' 'resourceName' 'secretArn' --pr
pulumi import \
'aws:secretsmanager/secretVersion:SecretVersion' 'resourceName' 'secretArn|versionId' \
--skip-preview -o 'imported.resources.ts'
-pulumi import -f 'resources.to.import.json'
+pulumi import -f 'resources.to.import.json' --generate-code=false -y
# Destroy resources.
pulumi destroy
@@ -169,10 +169,39 @@ pulumi state unprotect 'resourceUrn'
+
+ Data resources
+
+```ts
+const cluster_role = aws.iam.getRoleOutput({
+ name: "AWSServiceRoleForAmazonEKS",
+});
+
+const cluster = new aws.eks.Cluster("cluster", {
+ roleArn: cluster_role.arn,
+ …
+});
+```
+
+
+
Real world use cases
```sh
+# Programmatic initialization with local state.
+pulumi new -gy 'typescript' -n 'name' --dir 'dirname' \
+&& cd 'dirname' \
+&& npm install \
+&& yq -iy '. += {"backend": {"url": "file://."}}' 'Pulumi.yaml' \
+&& PULUMI_CONFIG_PASSPHRASE='test123' pulumi stack init 'stack-name' \
+&& cd -
+
+# Using the same number of threads of the machine seems to give the best
+# performance ratio.
+pulumi pre --parallel "$(nproc)" --diff
+pulumi up --parallel "$(nproc)"
+
# Import resources.
pulumi import \
'aws:s3/bucket:Bucket'
@@ -197,10 +226,10 @@ pulumi stack export | jq -r '.deployment.resources[]|select(.id=="myBucket").urn
pulumi state unprotect 'urn:pulumi:all::s3_lifecycle_bucketv2::aws:s3/bucketV2:BucketV2::org-infra'
pulumi state rename 'urn:pulumi:all::s3_lifecycle_bucketv2::aws:s3/bucketV2:BucketV2::org-infra' 'org-infra_lifecycle'
-# Act on resources by their name.
+# Act on resources by their id.
pulumi stack export \
| yq -r '.deployment.resources[]|select(.id=="myBucket").urn' - \
-| xargs -n 1 pulumi refresh --preview-only -t
+| xargs -n 1 pulumi refresh --preview-only -t --target-dependents
# Migrate backend.
# From Pulumi Cloud to S3.
@@ -212,6 +241,7 @@ pulumi login \
&& pulumi stack init 'dev' \
&& pulumi stack import --file 'dev.stack.json'
+
# Use a local state for testing.
# Remote state on S3.
mkdir -pv '.pulumi/stacks/myWonderfulInfra' \
@@ -219,8 +249,12 @@ mkdir -pv '.pulumi/stacks/myWonderfulInfra' \
's3://myBucket/prefix/.pulumi/stacks/myWonderfulInfra/prod.json' \
'.pulumi/stacks/myWonderfulInfra/' \
&& yq -iy '. += {"backend": {"url": "file://."}}' 'Pulumi.yaml'
+
# Revert to the remote state.
yq -iy '. += {"backend": {"url": "s3://myBucket/prefix"}}' 'Pulumi.yaml'
+
+# Diff the two states
+# TODO
```