Skip to main content

Pulumi ResourceOptions


additionalSecretOutputs

aliases

customTimeouts

deleteBeforeReplace

dependsOn

Pulumi가 여러 리소스를 생성하거나 제거할 때, 자동으로 종속성을 추적합니다. 하지만, 어떤 상황에 따라 자동으로 추적하지 못할 수 있는데, 그런 경우 dependsOn 옵션을 사용하여 명시적으로 종속성을 지정할 수 있습니다.

name = "eks-cluster"
cluster = aws.eks.Cluster(
name,
name=name,
version="1.21",
role_arn=cluster_role.arn,
vpc_config=aws.eks.ClusterVpcConfigArgs(
subnet_ids=subnet_ids,
endpoint_public_access=True,
),
kubernetes_network_config=aws.eks.ClusterKubernetesNetworkConfigArgs(
service_ipv4_cidr="10.96.0.0/16"
),
enabled_cluster_log_types=[
"api",
"audit",
"authenticator",
"controllerManager",
"scheduler",
],
opts=pulumi.ResourceOptions(depends_on=cluster_rpas),
tags={
"Name": name
},
)

ignoreChanges

ignoreChanges에 속성을 추가하면 리소스를 업데이트 할 때 해당 속성이 변경되더라도 무시됩니다. ignoreChanges 추가된 속성은 해당 리소스가 생성될 때에만 사용됩니다.

# 이 scurity group은 cluster load balancer를 위한 것이기 때문에 ingress가
# 자동으로 수정될 수 있습니다.
elb_sg = aws.ec2.SecurityGroup(
"elb-sg",
vpc_id=vpc.id,
tags={
"kubernetes.io/cluster/hhk-cluster": "owned",
},
opts=pulumi.ResourceOptions(ignore_changes=["ingress"]),
)

import

parent

리소스의 상위 항목을 지정할 수 있습니다.

name = f"kubernetes-vpc"
vpc = aws.ec2.Vpc(
name,
enable_dns_support=True,
instance_tenancy="default",
cidr_block="172.16.0.0/16",
tags={
"Name": name,
},
)

name = "kubernetes-igw"
igw = aws.ec2.InternetGateway(
name,
vpc_id=vpc.id,
opts=pulumi.ResourceOptions(parent=vpc),
tags={
"Name": name,
},
)
Updating (dev):
Type Name Status
+ pulumi:pulumi:Stack kubernetes-dev created
+ └─ aws:ec2:Vpc kubernetes-vpc created
+ └─ aws:ec2:InternetGateway kubernetes-igw created

protect

delete 또는 replace가 안되도록 보호합니다. protect: false로 설정 후 pulumi up을 실행하거나, pulumi state unprotect 명령어로 보호를 해제한 후 삭제할 수 있습니다.

provider

replaceOnChanges

transformations

version

Reference