This message was deleted.
# azure
s
This message was deleted.
h
Copy code
def prepare_node_pool_profiles(
        node_pools: Mapping[str, List[Mapping[str, str]]],
) -> List[cs.ManagedClusterAgentPoolProfileArgs]:
    """Prepares a list of node pool profiles from configuration."""
    node_pool_profiles: List[cs.ManagedClusterAgentPoolProfileArgs] = []

    for pool_mode in cs.AgentPoolMode:
        pool_type = pool_mode.lower()
        node_pools_type = node_pools.get(pool_type)
        if not node_pools_type:
            continue

        mode = cs.AgentPoolMode(pool_mode)
        node_taints = [
            'CriticalAddonsOnly=true:NoSchedule',
        ] if pool_mode is cs.AgentPoolMode.SYSTEM else None

        for idx, pool in enumerate(
                iterable=node_pools_type,
                start=1,
        ):
            name = f'{pool_type}{idx}'
            vm_size = pool['vmSize']
            min_count = int(pool['minCount'])
            max_count = int(pool['maxCount'])
            enable_auto_scaling = \
                str(pool['enableAutoScaling']).lower() == 'true'

            node_pool_profiles.append(
                    cs.ManagedClusterAgentPoolProfileArgs(
                            name=name,
                            mode=mode,
                            vm_size=vm_size,
                            min_count=min_count,
                            max_count=max_count,
                            count=min_count,
                            enable_auto_scaling=enable_auto_scaling,
                            node_taints=node_taints,
                    ),
            )

    return node_pool_profiles
^
import pulumi_azure_native.containerservice as cs