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
명령어로 보호를 해제한 후 삭제할 수 있습니다.