Skip to content

Commit

Permalink
Update more python templates to use dictionary literals
Browse files Browse the repository at this point in the history
With type checking for dictionary literals, we now prefer this style over args classes pulumi/pulumi#12689
  • Loading branch information
julienp committed Aug 27, 2024
1 parent 3faa2b5 commit 62dc4d8
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 85 deletions.
6 changes: 3 additions & 3 deletions helm-kubernetes-python/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
"ingresscontroller",
chart="nginx-ingress",
namespace=ingress_ns.metadata.name,
repository_opts=kubernetes.helm.v3.RepositoryOptsArgs(
repo="https://helm.nginx.com/stable",
),
repository_opts={
"repo": "https://helm.nginx.com/stable",
},
skip_crds=True,
values={
"controller": {
Expand Down
82 changes: 41 additions & 41 deletions kubernetes-azure-python/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
# Create an Azure Virtual Network
virtual_network = network.VirtualNetwork(
"virtual_network",
address_space=network.AddressSpaceArgs(
address_prefixes=["10.0.0.0/16"],
),
address_space={
"address_prefixes": ["10.0.0.0/16"],
},
resource_group_name=resource_group.name
)

Expand All @@ -53,51 +53,51 @@
# Create an Azure Kubernetes Service cluster
managed_cluster = containerservice.ManagedCluster(
"managed_cluster",
aad_profile=containerservice.ManagedClusterAADProfileArgs(
enable_azure_rbac=True,
managed=True,
admin_group_object_ids=[mgmt_group_id],
),
aad_profile={
"enable_azure_rbac": True,
"managed": True,
"admin_group_object_ids": [mgmt_group_id],
},
# Use multiple agent/node pools to distribute nodes across subnets
agent_pool_profiles=[containerservice.ManagedClusterAgentPoolProfileArgs(
availability_zones=["1","2","3",],
count=3,
enable_node_public_ip=False,
mode="System",
name="systempool",
os_type="Linux",
os_disk_size_gb=30,
type="VirtualMachineScaleSets",
vm_size=node_vm_size,
agent_pool_profiles=[{
"availability_zones": ["1","2","3",],
"count": 3,
"enable_node_public_ip": False,
"mode": "System",
"name": "systempool",
"os_type": "Linux",
"os_disk_size_gb": 30,
"type": "VirtualMachineScaleSets",
"vm_size": node_vm_size,
# Change next line for additional node pools to distribute across subnets
vnet_subnet_id=subnet1.id
)],
"vnet_subnet_id": subnet1.id
}],
# Change authorized_ip_ranges to limit access to API server
# Changing enable_private_cluster requires alternate access to API server (VPN or similar)
api_server_access_profile=containerservice.ManagedClusterAPIServerAccessProfileArgs(
authorized_ip_ranges=["0.0.0.0/0"],
enable_private_cluster=False
),
api_server_access_profile={
"authorized_ip_ranges": ["0.0.0.0/0"],
"enable_private_cluster": False
},
dns_prefix=prefix_for_dns,
enable_rbac=True,
identity=containerservice.ManagedClusterIdentityArgs(
type=containerservice.ResourceIdentityType.SYSTEM_ASSIGNED,
),
identity={
"type": containerservice.ResourceIdentityType.SYSTEM_ASSIGNED,
},
kubernetes_version=k8s_version,
linux_profile=containerservice.ContainerServiceLinuxProfileArgs(
admin_username="azureuser",
ssh=containerservice.ContainerServiceSshConfigurationArgs(
public_keys=[containerservice.ContainerServiceSshPublicKeyArgs(
key_data=ssh_pub_key,
)],
),
),
network_profile=containerservice.ContainerServiceNetworkProfileArgs(
network_plugin="azure",
network_policy="azure",
service_cidr="10.96.0.0/16",
dns_service_ip="10.96.0.10",
),
linux_profile={
"admin_username": "azureuser",
"ssh": {
"public_keys": [{
"key_data": ssh_pub_key,
}],
},
},
network_profile={
"network_plugin": "azure",
"network_policy": "azure",
"service_cidr": "10.96.0.0/16",
"dns_service_ip": "10.96.0.10",
},
resource_group_name=resource_group.name
)

Expand Down
66 changes: 33 additions & 33 deletions kubernetes-gcp-python/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,43 +27,43 @@
# Create a cluster in the new network and subnet
gke_cluster = gcp.container.Cluster(
"gke-cluster",
addons_config=gcp.container.ClusterAddonsConfigArgs(
dns_cache_config=gcp.container.ClusterAddonsConfigDnsCacheConfigArgs(
enabled=True
),
),
binary_authorization=gcp.container.ClusterBinaryAuthorizationArgs(
evaluation_mode="PROJECT_SINGLETON_POLICY_ENFORCE"
),
addons_config={
"dns_cache_config": {
"enabled": True
},
},
binary_authorization={
"evaluation_mode": "PROJECT_SINGLETON_POLICY_ENFORCE"
},
datapath_provider="ADVANCED_DATAPATH",
description="A GKE cluster",
initial_node_count=1,
ip_allocation_policy=gcp.container.ClusterIpAllocationPolicyArgs(
cluster_ipv4_cidr_block="/14",
services_ipv4_cidr_block="/20"
),
ip_allocation_policy={
"cluster_ipv4_cidr_block": "/14",
"services_ipv4_cidr_block": "/20"
},
location=gcp_region,
master_authorized_networks_config=gcp.container.ClusterMasterAuthorizedNetworksConfigArgs(
cidr_blocks=[gcp.container.ClusterMasterAuthorizedNetworksConfigCidrBlockArgs(
cidr_block="0.0.0.0/0",
display_name="All networks"
)]
),
master_authorized_networks_config={
"cidr_blocks": [{
"cidr_block": "0.0.0.0/0",
"display_name": "All networks"
}]
},
network=gke_network.name,
networking_mode="VPC_NATIVE",
private_cluster_config=gcp.container.ClusterPrivateClusterConfigArgs(
enable_private_nodes=True,
enable_private_endpoint=False,
master_ipv4_cidr_block="10.100.0.0/28"
),
private_cluster_config={
"enable_private_nodes": True,
"enable_private_endpoint": False,
"master_ipv4_cidr_block": "10.100.0.0/28"
},
remove_default_node_pool=True,
release_channel=gcp.container.ClusterReleaseChannelArgs(
channel="STABLE"
),
release_channel={
"channel": "STABLE"
},
subnetwork=gke_subnet.name,
workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
workload_pool=f"{gcp_project}.svc.id.goog"
)
workload_identity_config={
"workload_pool": f"{gcp_project}.svc.id.goog"
}
)

# Create a GCP service account for the nodepool
Expand All @@ -78,10 +78,10 @@
"gke-nodepool",
cluster=gke_cluster.id,
node_count=nodes_per_zone,
node_config=gcp.container.NodePoolNodeConfigArgs(
oauth_scopes=["https://www.googleapis.com/auth/cloud-platform"],
service_account=gke_nodepool_sa.email
)
node_config={
"oauth_scopes": ["https://www.googleapis.com/auth/cloud-platform"],
"service_account": gke_nodepool_sa.email
}
)

# Build a Kubeconfig to access the cluster
Expand Down
16 changes: 8 additions & 8 deletions kubernetes-python/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@

deployment = Deployment(
"nginx",
spec=DeploymentSpecArgs(
selector=LabelSelectorArgs(match_labels=app_labels),
replicas=1,
template=PodTemplateSpecArgs(
metadata=ObjectMetaArgs(labels=app_labels),
spec=PodSpecArgs(containers=[ContainerArgs(name="nginx", image="nginx")])
),
))
spec={
"selector": { "match_labels": app_labels },
"replicas": 1,
"template": {
"metadata": { "labels": app_labels },
"spec": { "containers": [{ "name": "nginx", "image": "nginx" }] }
},
})

pulumi.export("name", deployment.metadata["name"])

0 comments on commit 62dc4d8

Please sign in to comment.