A bunch of my resources are replaced every time I ...
# aws
a
A bunch of my resources are replaced every time I run
pulumi up
even though no changes have been made in their definitions. Is there a way to prevent this unnecessary churn? My pulumi program is using the python libraries if that makes any difference.
b
hey there, this shouldn't happen if there's no changes. could you show the diff and the code?
a
@billowy-army-68599 Sorry, didn’t see your reply till now. For example:
Copy code
+-  ├─ aws:ecr:LifecyclePolicy  cc-bidder-proxy-policy        replace     [diff: ~policy]
 +-  ├─ aws:ecr:LifecyclePolicy  cc-nginx-policy               replace     [diff: ~policy]
 +-  ├─ aws:ecr:LifecyclePolicy  cc-bidder-policy              replace     [diff: ~policy]
 +-  ├─ aws:ecr:LifecyclePolicy  cc-nginx-log-archiver-policy  replace     [diff: ~policy]
 +-  ├─ aws:ecr:LifecyclePolicy  cc-backend-policy             replace     [diff: ~policy]
 +-  ├─ aws:ecr:LifecyclePolicy  cc-redis-policy               replace     [diff: ~policy]
Details:
Copy code
--aws:ecr/lifecyclePolicy:LifecyclePolicy: (delete-replaced)
        [id=cc-nginx-log-archiver]
        [urn=urn:pulumi:dev::cc-devops::aws:ecr/lifecyclePolicy:LifecyclePolicy::cc-nginx-log-archiver-policy]
        [provider=urn:pulumi:dev::cc-devops::pulumi:providers:aws::default_4_8_0::ae711403-9d5e-4005-bd84-10c983e2cf49]
    --aws:ecr/lifecyclePolicy:LifecyclePolicy: (delete-replaced)
        [id=cc-backend-3aa693c]
        [urn=urn:pulumi:dev::cc-devops::aws:ecr/lifecyclePolicy:LifecyclePolicy::cc-backend-policy]
        [provider=urn:pulumi:dev::cc-devops::pulumi:providers:aws::default_4_8_0::ae711403-9d5e-4005-bd84-10c983e2cf49]
Code:
Copy code
cc_backend = aws.ecr.Repository(
    "cc-backend",
    image_scanning_configuration=aws.ecr.RepositoryImageScanningConfigurationArgs(
        scan_on_push=True,
    ),
    image_tag_mutability="MUTABLE",
    tags={
        "Name": "cc-backend",
    }
)


cc_backend_policy = aws.ecr.LifecyclePolicy(
    "cc-backend-policy",
    repository=cc_backend.name,
    policy="""{
    "rules": [
        {
            "rulePriority": 2,
            "description": "Expire images older than 14 days",
            "selection": {
                "tagStatus": "untagged",
                "countType": "sinceImagePushed",
                "countUnit": "days",
                "countNumber": 14
            },
            "action": {
                "type": "expire"
            }
        },
        {
            "rulePriority": 1,
            "description": "Keep last 30 images",
            "selection": {
                "tagStatus": "tagged",
                "tagPrefixList": ["m"],
                "countType": "imageCountMoreThan",
                "countNumber": 15
            },
            "action": {
                "type": "expire"
            }
        }
    ]
}
""")
b
could you file an issue for this in pulumi-aws, this shouldn't be happening. sorry for the inconvenience
a
Sure, no problem