def main()

in projects/enable-irsa/src/main.py [0:0]


def main(account, cluster_name, role_name, region):
    global iam, eks, sts
    iam.region_name = region
    eks.region_name = region
    sts.region_name = region
    if account == None:
        account = sts.get_caller_identity()["Account"]

    cluster, thumbprint = describe_cluster(ClusterName=cluster_name)
    check_cluster_version(cluster.version)
    create_odic_provider(OidcUrl=cluster.issuer, Thumbprint=thumbprint)
    trust_policy = create_trust_policy(Account=account, OidcUrl=cluster.issuer)
    role_arn = create_iam_role(RoleName=role_name, TrustPolicy=trust_policy)
    attach_role_policy(RoleName=role_name)
    context = choose_context()
    if context == None:
        api_client = create_clientset(ApiEndpoint=cluster.endpoint, ClusterName=cluster_name, Certificate=cluster.data)
        update_cni_sa(RoleArn=role_arn, Context=context, Clientset=api_client)
        patch_aws_node(Context=context, Clientset=api_client)
    else:
        update_cni_sa(RoleArn=role_arn, Context=context)
        patch_aws_node(Context=context)