def associate_products_to_local_portfolio()

in resources/sc-autopilot-importer.py [0:0]


def associate_products_to_local_portfolio(product_name,local_port,launch_constraint,sc_client):
    print("Associating local products to local portfolio {}...".format(local_port['DisplayName']))
    try:
        print("Associating product {} to portfolio {}...".format(product_name,local_port['DisplayName']))
        product_id = ''
        local_products = sc_client.search_products_as_admin()
        #find product ID of the product name provided
        for x in local_products['ProductViewDetails']:
            if(x['ProductViewSummary']['Name'] == product_name):
                product_id = x['ProductViewSummary']['ProductId']
                print("Product ID found-{}".format(product_id))
        #associating product with local portfolio
        associate_resp = sc_client.associate_product_with_portfolio(
            AcceptLanguage='en',
            ProductId = product_id,
            PortfolioId =local_port['Id'],
        )
        print("Product {} associated with portfolio {}. Response: {}".format(product_name,local_port['DisplayName'],associate_resp))
        create_constraint(product_id,local_port,launch_constraint,sc_client)
    except botocore.exceptions.ClientError as e:
        print(e)
        print("Could not associate product to local portfolio. Error : {}".format(e))
        sys.exit(1)
    return "Success"